ghost · desktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mdPewność ekstrakcji
Design system Airbnb opiera się na jednym zastrzeżonym zmiennym kroju pisma (Airbnb Cereal VF) i niemal monochromatycznej palecie neutralnych barw, z głębokim węglem (#222222) i jasnymi szarościami jako podstawą. Firmowy koral-róż „Rausch" (#ff385c) jest zarezerwowany wyłącznie dla głównych przycisków wezwania do działania i logo. Układ to responsywna siatka kart ze zdjęciami, z dużym udziałem obrazu w stosunku do tekstu, miękkimi, 20-pikselowymi zaokrągleniami rogów kart oraz wielowarstwowym systemem ambientowych cieni, który tworzy subtelną głębię bez ostrych kontrastów. Pasek wyszukiwania, w kształcie pigułki, jest wyraźnie wyeksponowany i łączy główną akcję użytkownika w jednym miejscu.
ghost · desktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mdghost · desktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mdghost · desktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mdghost · desktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mdghost · desktop
SpoczynekZgodność 100%Zgodne pomiary: 56
HoverZgodność 100%Zgodne pomiary: 18
FocusZgodność 100%Zgodne pomiary: 18
ghost · desktop
SpoczynekZgodność 100%Zgodne pomiary: 56
HoverZgodność 100%Zgodne pomiary: 18
FocusZgodność 100%Zgodne pomiary: 18
ghost · desktop
SpoczynekZgodność 100%Zgodne pomiary: 35
FocusZgodność 100%Zgodne pomiary: 18
ghost · desktop
Przy focus, zgodność renderu ze stroną to 95%, poniżej progu 97%.
SpoczynekZgodność 100%Zgodne pomiary: 76
HoverZgodność 100%Zgodne pomiary: 18
FocusZgodność 95%Zgodne pomiary: 18
ghost · desktop
SpoczynekZgodność 100%Zgodne pomiary: 76
FocusZgodność 100%Zgodne pomiary: 18
primary · desktop
SpoczynekZgodność 100%Zgodne pomiary: 56
FocusZgodność 100%Zgodne pomiary: 18
primary · desktop
SpoczynekZgodność 100%Zgodne pomiary: 22
FocusZgodność 100%Zgodne pomiary: 18
secondary · desktop
SpoczynekZgodność 100%Zgodne pomiary: 21
HoverZgodność 100%Zgodne pomiary: 18
FocusZgodność 100%Zgodne pomiary: 18
secondary · desktop
Element nie był widoczny podczas sprawdzania.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mdsecondary · desktop
Zgodność renderu ze stroną to 63%, poniżej progu 97%.
SpoczynekZgodność 63%Zgodne pomiary: 54
HoverZgodność 63%Zgodne pomiary: 18
FocusZgodność 96%Zgodne pomiary: 18
secondary · desktop
SpoczynekZgodność 100%Zgodne pomiary: 21
HoverZgodność 100%Zgodne pomiary: 18
FocusZgodność 100%Zgodne pomiary: 18
desktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mddesktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mddesktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mddesktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mddesktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mddesktop
Group 9 y: 130px, na stronie 82px; Group 10 y: 258px, na stronie 162px i jeszcze 2.
SpoczynekZgodność 100%Różne pomiary: 4 z 296
Spoczynek, wystąpienie 2Zgodność 100%Różne pomiary: 4 z 296
Spoczynek, wystąpienie 3Zgodność 100%Różne pomiary: 4 z 296
Spoczynek, wystąpienie 4Zgodność 100%Różne pomiary: 4 z 296
Spoczynek, wystąpienie 5Zgodność 100%Różne pomiary: 4 z 296
Spoczynek, wystąpienie 6Zgodność 100%Różne pomiary: 4 z 296
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mddesktop
Group y: 10px, na stronie 7px; Group width: 0px, na stronie 7px i jeszcze 11.
SpoczynekZgodność 100%Różne pomiary: 13 z 250
desktop
Row height: 71px, na stronie 42px; Cell height: 71px, na stronie 42px i jeszcze 49.
SpoczynekZgodność 94%Różne pomiary: 51 z 497
desktop
Row height: 86px, na stronie 42px; Cell height: 86px, na stronie 42px i jeszcze 51.
SpoczynekZgodność 100%Różne pomiary: 53 z 536
desktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mddesktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mddesktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Zgodność renderu ze stroną to 100%, poniżej progu 96%.
SpoczynekZgodność 100%Zgodne pomiary: 21
Spoczynek, wystąpienie 2Zgodność 100%Zgodne pomiary: 21
Spoczynek, wystąpienie 3Zgodność 100%Zgodne pomiary: 21
Spoczynek, wystąpienie 4Zgodność 100%Zgodne pomiary: 21
desktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mddesktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mddesktop
SpoczynekZgodność 100%Zgodne pomiary: 56
HoverZgodność 100%Zgodne pomiary: 18
FocusZgodność 100%Zgodne pomiary: 18
desktop
SpoczynekZgodność 100%Zgodne pomiary: 56
HoverZgodność 100%Zgodne pomiary: 18
FocusZgodność 100%Zgodne pomiary: 18
desktop
SpoczynekZgodność 100%Zgodne pomiary: 56
HoverZgodność 100%Zgodne pomiary: 18
FocusZgodność 100%Zgodne pomiary: 18
desktop
SpoczynekZgodność 100%Zgodne pomiary: 56
HoverZgodność 100%Zgodne pomiary: 18
FocusZgodność 100%Zgodne pomiary: 18
desktop
Group y: 17px, na stronie 20px; Group height: 45px, na stronie 40px i jeszcze 9.
SpoczynekZgodność 100%Różne pomiary: 11 z 216
desktop
SpoczynekZgodność 100%Zgodne pomiary: 21
FocusZgodność 100%Zgodne pomiary: 18
desktop
Zgodność renderu ze stroną to 30%, poniżej progu 96%.
SpoczynekZgodność 30%Zgodne pomiary: 21
FocusZgodność 100%Zgodne pomiary: 18
desktop
Media y: 0px, na stronie 455px.
SpoczynekZgodność 100%Różne pomiary: 1 z 57
FocusZgodność 100%Zgodne pomiary: 18
desktop
Media y: 0px, na stronie 217px.
SpoczynekZgodność 100%Różne pomiary: 1 z 57
FocusZgodność 100%Zgodne pomiary: 18
desktop
List width: 170px, na stronie 138px; Item width: 170px, na stronie 138px i jeszcze 4.
SpoczynekZgodność 91%Różne pomiary: 6 z 207
Spoczynek, wystąpienie 2Zgodność 99%Różne pomiary: 6 z 207
Spoczynek, wystąpienie 3Zgodność 99%Różne pomiary: 6 z 207
Spoczynek, wystąpienie 4Zgodność 99%Różne pomiary: 6 z 207
Spoczynek, wystąpienie 5Zgodność 99%Różne pomiary: 6 z 207
Spoczynek, wystąpienie 6Zgodność 99%Różne pomiary: 6 z 207
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Przy focus, zgodność renderu ze stroną to 93%, poniżej progu 96%.
SpoczynekZgodność 100%Zgodne pomiary: 46
HoverZgodność 99%Zgodne pomiary: 18
FocusZgodność 93%Zgodne pomiary: 18
desktop
Przy hover, zgodność renderu ze stroną to 90%, poniżej progu 96%.
SpoczynekZgodność 99%Zgodne pomiary: 66
HoverZgodność 90%Zgodne pomiary: 18
FocusZgodność 91%Zgodne pomiary: 18
desktop
Nie utworzono receptury: element nie był widoczny.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: element nie był widoczny.
Dla tego komponentu nic nie zostało porównane.
desktop
Zgodność renderu ze stroną to 100%, poniżej progu 96%.
SpoczynekZgodność 100%Zgodne pomiary: 21
Spoczynek, wystąpienie 2Zgodność 100%Zgodne pomiary: 21
Spoczynek, wystąpienie 3Zgodność 100%Zgodne pomiary: 21
Spoczynek, wystąpienie 4Zgodność 100%Zgodne pomiary: 21
Spoczynek, wystąpienie 5Zgodność 100%Zgodne pomiary: 21
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Przy focus, zgodność renderu ze stroną to 96%, poniżej progu 96%.
SpoczynekZgodność 100%Zgodne pomiary: 21
HoverZgodność 100%Zgodne pomiary: 18
FocusZgodność 96%Zgodne pomiary: 18
desktop
Media y: 18px, na stronie 20px.
SpoczynekZgodność 100%Różne pomiary: 1 z 104
HoverZgodność 99%Zgodne pomiary: 22
FocusZgodność 99%Zgodne pomiary: 22
desktop
Media y: 18px, na stronie 20px.
SpoczynekZgodność 100%Różne pomiary: 1 z 104
HoverZgodność 100%Zgodne pomiary: 22
FocusZgodność 100%Zgodne pomiary: 22
desktop
Media y: 18px, na stronie 20px.
SpoczynekZgodność 100%Różne pomiary: 1 z 104
HoverZgodność 99%Zgodne pomiary: 22
FocusZgodność 99%Zgodne pomiary: 22
desktop
SpoczynekZgodność 100%Zgodne pomiary: 21
FocusZgodność 100%Zgodne pomiary: 18
desktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mddesktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: przekroczono czas odczytu elementu.
Dla tego komponentu nic nie zostało porównane.
desktop
Group y: -16px, na stronie 0px; Group height: 900px, na stronie 96px i jeszcze 21.
SpoczynekZgodność 99%Różne pomiary: 23 z 545
Hoverniesprawdzony
Focusniesprawdzony
Focus na cta 2Zgodność 99%Zgodne pomiary: 18
Hover na cta 2Zgodność 99%Zgodne pomiary: 18
Focus na ctaZgodność 99%Zgodne pomiary: 18
Hover na ctaZgodność 99%Zgodne pomiary: 18
Focus na logoZgodność 99%Zgodne pomiary: 18
desktop
SpoczynekZgodność 100%Zgodne pomiary: 238
Hoverniesprawdzony
Focusniesprawdzony
Focus na buttonZgodność 100%Zgodne pomiary: 18
Hover na buttonZgodność 100%Zgodne pomiary: 18
Focus na menu toggleZgodność 100%Zgodne pomiary: 18
Hover na menu toggleZgodność 100%Zgodne pomiary: 18
desktop
Group y: -16px, na stronie 0px; Group height: 900px, na stronie 96px i jeszcze 54.
SpoczynekZgodność 99%Różne pomiary: 56 z 1063
Hoverniesprawdzony
Focusniesprawdzony
Focus na ctaZgodność 99%Zgodne pomiary: 18
Hover na ctaZgodność 99%Zgodne pomiary: 18
Focus na link 2Zgodność 98%Zgodne pomiary: 18
Focus na link 3Zgodność 98%Zgodne pomiary: 18
Focus na link 4Zgodność 98%Zgodne pomiary: 18
Focus na linkZgodność 98%Zgodne pomiary: 18
Focus na logoZgodność 99%Zgodne pomiary: 18
Focus na menu toggleZgodność 99%Zgodne pomiary: 18
Hover na menu toggleZgodność 99%Zgodne pomiary: 18
desktop
Group y: -16px, na stronie 0px; Group height: 900px, na stronie 96px i jeszcze 54.
SpoczynekZgodność 99%Różne pomiary: 56 z 1063
Hoverniesprawdzony
Focusniesprawdzony
Focus na ctaZgodność 99%Zgodne pomiary: 18
Hover na ctaZgodność 99%Zgodne pomiary: 18
Focus na link 2Zgodność 98%Zgodne pomiary: 18
Focus na link 3Zgodność 98%Zgodne pomiary: 18
Focus na link 4Zgodność 98%Zgodne pomiary: 18
Focus na linkZgodność 98%Zgodne pomiary: 18
Focus na logoZgodność 99%Zgodne pomiary: 18
Focus na menu toggleZgodność 99%Zgodne pomiary: 18
Hover na menu toggleZgodność 99%Zgodne pomiary: 18
mobile
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
mobile
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
mobile
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
mobile
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
mobile
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Element główny height: 845px, na stronie 625px; Inner height: 845px, na stronie 625px i jeszcze 103.
SpoczynekZgodność 100%Różne pomiary: 105 z 1577
Hoverniesprawdzony
Focusniesprawdzony
Focus na linkZgodność 100%Zgodne pomiary: 18
Hover na linkZgodność 100%Zgodne pomiary: 18
desktop
Nie udało się ponownie znaleźć elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
Receptura w DESIGN.mdmobile
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
mobile
Inner height: 953px, na stronie 1310px; Group height: 953px, na stronie 1310px i jeszcze 117.
SpoczynekZgodność 100%Różne pomiary: 119 z 1646
Hoverniesprawdzony
Focusniesprawdzony
Focus na linkZgodność 100%Zgodne pomiary: 18
Hover na linkZgodność 100%Zgodne pomiary: 18
mobile
Nie utworzono receptury: nie znaleziono elementu na stronie.
Dla tego komponentu nic nie zostało porównane.
desktop
Nie utworzono receptury: element nie był widoczny.
Dla tego komponentu nic nie zostało porównane.
desktop
SpoczynekZgodność 100%Zgodne pomiary: 22
FocusZgodność 100%Zgodne pomiary: 18
desktop
Nie utworzono receptury: element nie był widoczny.
Dla tego komponentu nic nie zostało porównane.
desktop
Przy focus, zgodność renderu ze stroną to 94%, poniżej progu 97%.
SpoczynekZgodność 100%Zgodne pomiary: 64
FocusZgodność 94%Zgodne pomiary: 22
desktop
Przy focus, zgodność renderu ze stroną to 94%, poniżej progu 97%.
SpoczynekZgodność 100%Zgodne pomiary: 30
FocusZgodność 94%Zgodne pomiary: 22
desktop
Przy focus, zgodność renderu ze stroną to 97%, poniżej progu 97%.
SpoczynekZgodność 100%Zgodne pomiary: 51
FocusZgodność 97%Zgodne pomiary: 22
desktop
Nie utworzono receptury: element nie był widoczny.
Dla tego komponentu nic nie zostało porównane.
Airbnb
Airbnb's interface is a white stage for photography. The chrome stays quiet: a near-black ink (ink, #222222) does almost all of the typographic work, a short grey ladder handles secondary and disabled text, and the coral brand color appears in only a handful of places (the logo, the search button, key CTAs). The listing photos carry the emotion; everything else exists to frame them and get out of the way.
Density is medium-high but never cramped. The home and category pages are stacks of horizontal carousels of image-led cards, each with a bold left-aligned heading and a small circular arrow control. Card captions use a tight three-line hierarchy: a medium-weight title in ink, grey meta in body-muted, then price and rating. Type stays compact (11px to 26px across the whole ladder). Headings never get large, so hierarchy comes from weight steps (400 / 500 / 600 / 700) and from the ink-versus-grey contrast rather than from size.
Geometry is soft and generous: 20px-rounded photo cards, a full-pill search bar with a circular coral button, pill CTAs and circular icon chips on a pale surface-soft fill. Depth is used with restraint but it is real. The search pill, the floating category tabs and the compact search bar carry diffuse, low-opacity shadows. Content cards carry none.
Key Characteristics:
ink (#222222) for primary text, body-muted (#6C6C6C) for meta, text-disabled (#C1C1C1) for inactive controls.primary (#FF385C) on the logo and primary-active (#DA1249) as the solid fill of the search button.surface-soft (#F2F2F2) icon chips; surface-footer (#F7F7F7) hovers and the footer band.rounded.4xl) is the dominant radius; pills and circles are used for search, CTAs and icon buttons.canvas white and ink.The palette is a neutral greyscale with a single coral accent. Roughly nine of every ten colored pixels in the sampled text are ink, so treat coral as punctuation, never as a fill for large areas.
primary, #FF385C): the logo color (header-landing-logo, flagged: the header-landing-group y did not reproduce the measured 0px after 2 correction attempts). Use it for the brand mark and rare highlights. Never use it as body text or as a section background.primary-active, #DA1249): the solid fill behind the search button and primary pill. It appears as button-primary-group with #FFFFFF text and 50px radius, and as header-landing-group-17. This is the only saturated fill on the page. No gradients were captured in the measured styles, so render this coral as a flat fill.on-primary, #FFFFFF): text and icons sitting on primary-active.canvas, #FFFFFF): the page, the search pill body (header-landing-group-8) and calendar cells.surface-soft, #F2F2F2): the resting fill of circular icon buttons and menu toggles (icon-button, menu-button, header-inner-2-menu-toggle) and of the large secondary button button-secondary-4.surface-footer, #F7F7F7): the footer band (footer-landing, flagged: the original element could not be found again). It is also the hover fill of button-secondary and the focus fill of nav-link and tab-active.ink, #222222): headings, titles, links, nav and button labels. It is also the selected-day fill in the calendar (calendar-text-2, flagged: the calendar-row height did not reproduce the measured 42px after 2 correction attempts).body-muted, #6C6C6C): card meta lines, inactive nav tabs (nav-link) and search-field placeholders.muted-soft, #8C8C8C): tertiary counts in the category tabs (tab-2-text-2) and unavailable calendar days.text-disabled, #C1C1C1): disabled carousel arrows. For example, carousel-arrow (flagged: the original element could not be found again) sets #C1C1C1 on #F2F2F2.hairline, #DDDDDD): the 1px border of the search pill (header-landing-group-9), segment dividers inside the search bar, and the placeholder fill behind card photos (card-2-group-2).footer-landing-group-2). It is a recipe value, not a palette token.These were measured only on components, never in the page sampling.
focus-ring, #3F3F3F): footer-link and legal-link focus. On focus the link fills #3F3F3F with #FFFFFF text and a 2px #3F3F3F box-shadow ring (button-ghost-9).ink-focus, #222222): the outer ring of the standard double focus ring.ink-black, #000000): hover text on button-ghost-8 (flagged: the render matched 95% of the original pixels, below the 97% required on focus after 2 correction attempts).surface-soft controls (button-secondary-4-hover) and of search segments (search-field-3-hover). It is not a token; reuse it only for hover.Airbnb Cereal VF is the only family, used for display, UI and body text alike. The measured stack is "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif. It is a variable font, which is why 600 sits between the more common 500 and 700.
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
display-lg | 26px | 500 | 1.15 | normal | Page-level H1 (listing title) |
title-lg | 22px | 500 | 1.2 | -0.44px | Section headings on detail pages |
title-md | 20px | 600 | 1.2 | -0.18px | Carousel section headings |
title-sm | 16px | 500 | 1.25 | normal | Card titles, H3, emphasized buttons |
body-lg | 16px | 400 | 1.5 | normal | Long-form description text |
body-md | 16px | 400 | 1.25 | normal | Calendar, list items, compact 16px UI |
body | 14px | 400 | 1.45 | normal | Default body, links, header and footer text |
body-relaxed | 14px | 400 | 1.5 | normal | Multi-line 14px copy in buttons and spans |
body-strong | 14px | 500 | 1.45 | normal | Small H3 subheads |
button | 14px | 500 | 1.3 | normal | Button labels, nav tabs, inputs |
nav-link | 14px | 400 | 1.3 | normal | Plain list and nav links |
caption-lg | 13px | 400 | 1.25 | normal | Card subtitles |
caption | 12px | 400 | 1.35 | normal | Card meta (dates, distance), the most frequent style |
caption-medium | 12px | 500 | 1.35 | normal | Search segment labels (Where / When / Who) |
caption-strong | 12px | 700 | 1.35 | normal | Prices and rating emphasis |
micro | 11px | 600 | 1.2 | normal | Badges such as Guest favorite |
footer-landing-heading and 24px/700 on footer-inner-heading. Do not add hero-scale display sizes.title-md and micro. 700 appears only at 12px (caption-strong) for prices. 400 covers running text.title-lg (-0.44px) and title-md (-0.18px) are tightened. Every other style uses normal tracking.body, body-lg, body-relaxed).ink and body-muted to separate title from meta, as in card-2-text versus card-2-group-10.Airbnb Cereal is proprietary. The best open-source stand-in is DM Sans, which is geometric, has round terminals and is available as a variable font with intermediate weights. Inter is the safer fallback.
-apple-system, system-ui in the fallback stack, as the measured stack does.No base step was published. The verified spacing tokens all come from controls:
| Token | Value | Measured on |
|---|---|---|
header-inner-2-gap | 12px | Gap of the flex row holding the host CTA and the circular menu toggles in header-inner-2 |
button-secondary-padding-y | 11px | Vertical padding of the pill nav CTA button-secondary |
button-secondary-padding-x | 12px | Horizontal padding of button-secondary |
button-primary-2-padding-y | 14px | Vertical padding of the full-pill primary button-primary-2 |
button-primary-2-padding-x | 24px | Horizontal padding of button-primary-2 |
button-secondary-4-padding-y | 14px | Vertical padding of the grey button-secondary-4 |
button-secondary-4-padding-x | 24px | Horizontal padding of button-secondary-4 |
Two patterns follow from this table:
button-primary-2-padding-y / button-primary-2-padding-x).No vertical section rhythm token was measured.
No container max-width was verified, so center content within generous side margins and do not hard-code a width.
header-inner-2-gap (12px).surface-footer. Hairlines appear only inside the search bar and above the footer's legal row.Every spacing token restates a measurement of a verified component recipe, or the step those measurements share.
header-inner-2-gap: 12px (header-inner-2, gap of header-inner-2-group)button-secondary-padding-y: 11px (button-secondary, vertical padding of the root)button-secondary-padding-x: 12px (button-secondary, horizontal padding of the root)button-primary-2-padding-y: 14px (button-primary-2, vertical padding of the root)button-primary-2-padding-x: 24px (button-primary-2, horizontal padding of the root)button-secondary-4-padding-y: 14px (button-secondary-4, vertical padding of the root)button-secondary-4-padding-x: 24px (button-secondary-4, horizontal padding of the root)| Level | Treatment | Use |
|---|---|---|
| Flat | No shadow; content sits on canvas | Listing and destination cards, page body, footer band on surface-footer |
| Hairline | 1px solid #DDDDDD (hairline); 1px top border #EBEBEB | Search pill outline (header-landing-group-9); footer legal divider (footer-landing-group-2) |
| Compact lift | #00000014 0px 1px 2px 0px, #0000000D 0px 4px 12px 0px plus 1px solid #DDDDDD | Condensed search bar on inner pages (header-inner-group-4) |
| Soft float | #00000012 0px 4px 20px 0px plus 1px solid #F2F2F2; hover border becomes 1px solid #C1C1C1, focus becomes 1px solid #8C8C8C | Floating category tab tiles (tab-2, flagged: the tab-2-media y did not reproduce the measured 20px after 2 correction attempts) |
| Search pill | color(srgb 0 0 0 / 0.02) 0px 0px 0px 1px, color(srgb 0 0 0 / 0.1) 0px 8px 24px 0px plus 1px solid #DDDDDD | Hero search bar (header-landing-group-9) |
| Page-level layered | color(srgb 0 0 0 / 0.02) 0px 0px 0px 1px, color(srgb 0 0 0 / 0.04) 0px 2px 6px 0px, color(srgb 0 0 0 / 0.1) 0px 4px 8px 0px (most frequent, 4 pages); rgba(0, 0, 0, 0.08) 0px 1px 2px 0px, rgba(0, 0, 0, 0.05) 0px 4px 12px 0px; rgba(0, 0, 0, 0.12) 0px 6px 16px 0px | Floating pills on photos, booking panel, menus and popovers sampled on pages |
| Focus ring | #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px (button-primary); #222222 0px 0px 0px 2px (button-secondary); #3F3F3F 0px 0px 0px 2px (button-ghost-9) | Keyboard focus on every interactive element |
| Blur | None measured | — |
Shadow philosophy. Shadows are real but rationed, and they belong to things that float, never to content.
outline: 2px solid #222222 with a 4px offset.| Token | Value | Use |
|---|---|---|
rounded.2xs | 3px | Rare micro elements |
rounded.xs | 4px | Footer and legal links (footer-landing-link), focus fill of nav tabs (nav-link-focus), small text buttons (button-ghost-9) |
rounded.sm | 6px | Rare small chips |
rounded.md | 8px | Nav tabs (nav-link, tab-active), compact grey chip button-secondary-3, header link focus |
rounded.lg | 10px | Detail-page elements |
rounded.xl | 12px | Large grey button button-secondary-4, footer setting buttons |
rounded.2xl | 14px | Secondary containers seen on 4 pages |
rounded.3xl | 16px | Floating category tab tiles (tab-2) |
rounded.4xl | 20px | Dominant radius: card photos and links (card-2-link), the nav CTA pill (button-secondary) |
rounded.5xl | 24px | Rare large panels |
rounded.6xl | 32px | Search segments (search-field-3), search-bar inner rows (header-landing-inner) |
rounded.7xl | 40px | Condensed search bar row (header-inner-inner-3) |
rounded.8xl | 50px | Search button and coral pill (button-primary, button-primary-group) |
rounded.9xl | 100px | Full-pill search bar shell (header-landing-group-8) |
Nothing in the interface has a sharp corner. The scale is weighted heavily toward the large end. rounded.4xl (20px) is by far the most frequent radius and defines every photo card, so treat it as the default for any content tile.
Pills are a first-class shape:
rounded.9xl), the coral search button (rounded.8xl) and the full primary button button-primary-2 at 999px.header-inner-2-menu-toggle and icon-button, render as circles on surface-soft, as do the carousel arrows.Smaller radii (4px–12px) are reserved for text-level controls and focus fills, where a pill would look bloated.
Each component below was distilled from the live page: the recipe is a standalone, placeholder-filled reproduction with literal values, and every frontmatter key named in the anatomy carries the same measurements. A verified component reproduced the original in every check; a flagged one is shipped with the reason it did not; one marked not verifiable could not be compared with the original, which says nothing about the recipe.
Button, primary
Verification: verified against the live page at desktop.
Anatomy
button-primary: the component root, a <button> (.c-button-primary)button-primary-group: inner flex row (.c-button-primary__group)button-primary-icon: icon placeholder, 16px (.c-button-primary__icon)Recipe
<div class="c-button-primary-scope">
<button class="c-button-primary" type="button">
<div class="c-button-primary__group">
<span class="c-button-primary__icon" aria-hidden="true"></span>
</div>
</button>
</div>
.c-button-primary-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-button-primary {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 50px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
letter-spacing: normal;
text-transform: none;
text-align: start;
}
.c-button-primary__group {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 48px;
height: 48px;
padding: 10px;
background-color: #DA1249;
color: #FFFFFF;
border-radius: 50px;
}
.c-button-primary__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
background-color: currentcolor;
}
.c-button-primary:focus {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
outline: none;
}
States
Button, secondary
Verification: verified against the live page at desktop.
Anatomy
button-secondary: the component root, a <button> (.c-button-secondary), 13-character labelRecipe
<div class="c-button-secondary-scope">
<button class="c-button-secondary" type="button">lorem ipsum d</button>
</div>
.c-button-secondary-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-button-secondary {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
padding: 11px 12px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 20px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-button-secondary:hover {
background-color: #F7F7F7;
}
.c-button-secondary:focus {
box-shadow: #222222 0px 0px 0px 2px;
outline: none;
}
States
button-secondary-hover): background-color #F7F7F7Button, secondary (2)
Verification: flagged, the original element was not visible when verification ran.
Anatomy
button-secondary-2: the component root, a <button> (.c-button-secondary-2)button-secondary-2-label: label text, 9 characters (.c-button-secondary-2__label)button-secondary-2-icon: icon placeholder, 12px (.c-button-secondary-2__icon)Recipe
<div class="c-button-secondary-2-scope">
<button class="c-button-secondary-2" type="button">
<span class="c-button-secondary-2__label">lorem ips</span>
<span class="c-button-secondary-2__icon" aria-hidden="true"></span>
</button>
</div>
.c-button-secondary-2-scope {
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-button-secondary-2 {
display: flex;
align-items: center;
gap: 4px;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 8px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
list-style-type: none;
appearance: button;
transition-duration: 0.2s, 0.1s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform;
}
.c-button-secondary-2__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 12px;
height: 12px;
background-color: currentcolor;
}
.c-button-secondary-2:focus {
background-color: #F7F7F7;
box-shadow: #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px;
outline: none;
text-decoration-line: underline;
}
States
button-secondary-2-focus): background-color #F7F7F7, box-shadow #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px, outline none, text-decoration-line underlineButton, ghost
Verification: flagged, the original element could not be found again.
Anatomy
button-ghost: the component root, a <button> (.c-button-ghost)button-ghost-group: inner flex row (.c-button-ghost__group)button-ghost-icon: icon placeholder, 16px (.c-button-ghost__icon)button-ghost-label: label text, 12 characters (.c-button-ghost__label)Recipe
<div class="c-button-ghost-scope">
<button class="c-button-ghost" type="button">
<span class="c-button-ghost__group">
<span class="c-button-ghost__icon" aria-hidden="true"></span>
<span class="c-button-ghost__label">lorem ipsum</span>
</span>
</button>
</div>
.c-button-ghost-scope {
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-button-ghost {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
padding: 6px 8px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 12px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-button-ghost__group {
display: inline-flex;
justify-content: center;
align-items: center;
gap: 8px;
box-sizing: border-box;
vertical-align: top;
}
.c-button-ghost__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
overflow-x: hidden;
overflow-y: hidden;
background-color: currentcolor;
}
.c-button-ghost:hover {
background-color: #EBEBEB;
}
.c-button-ghost:focus {
box-shadow: #222222 0px 0px 0px 2px;
outline: none;
}
States
button-ghost-hover): background-color #EBEBEBButton, ghost (2)
Verification: flagged, the original element could not be found again.
Anatomy
button-ghost-2: the component root, a <button> (.c-button-ghost-2)button-ghost-2-label: label text, 0 characters (.c-button-ghost-2__label)button-ghost-2-label-2: label text, 1 characters (.c-button-ghost-2__label-2)button-ghost-2-label-3: label text, 3 characters (.c-button-ghost-2__label-3)Recipe
<div class="c-button-ghost-2-scope">
<button class="c-button-ghost-2" type="button">
<div class="c-button-ghost-2__label">
<span class="c-button-ghost-2__label-2">l</span>
<span class="c-button-ghost-2__label-3">lor</span>
</div>
</button>
</div>
.c-button-ghost-2-scope {
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-button-ghost-2 {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
padding: 6px 8px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 12px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-button-ghost-2__label {
display: flex;
gap: 8px;
box-sizing: border-box;
}
.c-button-ghost-2:hover {
background-color: #EBEBEB;
}
.c-button-ghost-2:focus {
box-shadow: #222222 0px 0px 0px 2px;
outline: none;
}
States
button-ghost-2-hover): background-color #EBEBEBButton, ghost (3)
Verification: flagged, the original element could not be found again.
Anatomy
button-ghost-3: the component root, a <button> (.c-button-ghost-3)button-ghost-3-group: inner flex row (.c-button-ghost-3__group)button-ghost-3-label: label text, 1 characters (.c-button-ghost-3__label)button-ghost-3-icon: icon placeholder, 12px (.c-button-ghost-3__icon)Recipe
<div class="c-button-ghost-3-scope">
<button class="c-button-ghost-3" type="button">
<span class="c-button-ghost-3__group">
<span class="c-button-ghost-3__label">l</span>
<span class="c-button-ghost-3__icon" aria-hidden="true"></span>
</span>
</button>
</div>
.c-button-ghost-3-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-button-ghost-3 {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 28px;
height: 28px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #C1C1C1;
border: 0;
border-radius: 50%;
opacity: 0.5;
cursor: not-allowed;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-button-ghost-3::before {
content: "";
display: block;
box-sizing: border-box;
width: 28px;
height: 28px;
position: absolute;
top: 14px;
right: -14px;
bottom: -14px;
left: 14px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -14, -14);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-button-ghost-3__group {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
height: 100%;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-button-ghost-3__label {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-button-ghost-3__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 12px;
height: 12px;
background-color: currentcolor;
}
.c-button-ghost-3:hover {
transform: matrix(1, 0, 0, 1, 0, 0);
}
.c-button-ghost-3:focus {
outline: none;
}
States
Button, ghost (4)
Verification: flagged, the original element could not be found again.
Anatomy
button-ghost-4: the component root, a <button> (.c-button-ghost-4)button-ghost-4-group: inner flex row (.c-button-ghost-4__group)button-ghost-4-label: label text, 1 characters (.c-button-ghost-4__label)button-ghost-4-icon: icon placeholder, 12px (.c-button-ghost-4__icon)Recipe
<div class="c-button-ghost-4-scope">
<button class="c-button-ghost-4" type="button">
<span class="c-button-ghost-4__group">
<span class="c-button-ghost-4__label">l</span>
<span class="c-button-ghost-4__icon" aria-hidden="true"></span>
</span>
</button>
</div>
.c-button-ghost-4-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-button-ghost-4 {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 28px;
height: 28px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-button-ghost-4::before {
content: "";
display: block;
box-sizing: border-box;
width: 28px;
height: 28px;
position: absolute;
top: 14px;
right: -14px;
bottom: -14px;
left: 14px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -14, -14);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-button-ghost-4__group {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
height: 100%;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-button-ghost-4__label {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-button-ghost-4__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 12px;
height: 12px;
background-color: currentcolor;
}
.c-button-ghost-4:hover {
transform: matrix(1.07143, 0, 0, 1.07143, 0, 0);
}
.c-button-ghost-4:hover::before {
background-color: #EBEBEB;
}
.c-button-ghost-4:focus {
outline: none;
}
.c-button-ghost-4:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
Button, ghost (5)
Verification: verified against the live page at desktop.
Anatomy
button-ghost-5: the component root, a <button> (.c-button-ghost-5)button-ghost-5-group: inner flex row (.c-button-ghost-5__group)button-ghost-5-icon: icon placeholder, 24px (.c-button-ghost-5__icon)Recipe
<div class="c-button-ghost-5-scope">
<button class="c-button-ghost-5" type="button">
<span class="c-button-ghost-5__group">
<span class="c-button-ghost-5__icon" aria-hidden="true"></span>
</span>
</button>
</div>
.c-button-ghost-5-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-button-ghost-5 {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 40px;
height: 40px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-button-ghost-5::before {
content: "";
display: block;
box-sizing: border-box;
width: 40px;
height: 40px;
position: absolute;
top: 20px;
right: -20px;
bottom: -20px;
left: 20px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -20, -20);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-button-ghost-5__group {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-button-ghost-5__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 24px;
height: 24px;
background-color: currentcolor;
}
.c-button-ghost-5:hover::before {
background-color: #EBEBEB;
}
.c-button-ghost-5:focus {
outline: none;
}
.c-button-ghost-5:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
Button, ghost (6)
Verification: verified against the live page at desktop.
Anatomy
button-ghost-6: the component root, a <button> (.c-button-ghost-6)button-ghost-6-group: inner flex row (.c-button-ghost-6__group)button-ghost-6-icon: icon placeholder, 16px (.c-button-ghost-6__icon)Recipe
<div class="c-button-ghost-6-scope">
<button class="c-button-ghost-6" type="button">
<span class="c-button-ghost-6__group">
<span class="c-button-ghost-6__icon" aria-hidden="true"></span>
</span>
</button>
</div>
.c-button-ghost-6-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-button-ghost-6 {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 40px;
height: 40px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-button-ghost-6::before {
content: "";
display: block;
box-sizing: border-box;
width: 40px;
height: 40px;
position: absolute;
top: 20px;
right: -20px;
bottom: -20px;
left: 20px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -20, -20);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-button-ghost-6__group {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-button-ghost-6__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
background-color: currentcolor;
}
.c-button-ghost-6:hover::before {
background-color: #EBEBEB;
}
.c-button-ghost-6:focus {
outline: none;
}
.c-button-ghost-6:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
Button, ghost (7)
Verification: verified against the live page at desktop.
Anatomy
button-ghost-7: the component root, a <button> (.c-button-ghost-7)button-ghost-7-label: label text, 9 characters (.c-button-ghost-7__label)button-ghost-7-icon: icon placeholder, 12px (.c-button-ghost-7__icon)Recipe
<div class="c-button-ghost-7-scope">
<button class="c-button-ghost-7" type="button">
<span class="c-button-ghost-7__label">lorem ips</span>
<span class="c-button-ghost-7__icon" aria-hidden="true"></span>
</button>
</div>
.c-button-ghost-7-scope {
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-button-ghost-7 {
display: flex;
align-items: center;
gap: 4px;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 8px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
list-style-type: none;
appearance: button;
transition-duration: 0.2s, 0.1s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform;
}
.c-button-ghost-7__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 12px;
height: 12px;
background-color: currentcolor;
}
.c-button-ghost-7:focus {
background-color: #F7F7F7;
box-shadow: #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px;
outline: none;
text-decoration-line: underline;
}
States
button-ghost-7-focus): background-color #F7F7F7, box-shadow #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px, outline none, text-decoration-line underlineButton, primary (2)
Verification: verified against the live page at desktop.
Anatomy
button-primary-2: the component root, a <button> (.c-button-primary-2)Recipe
<div class="c-button-primary-2-scope">
<button class="c-button-primary-2" type="button"></button>
</div>
.c-button-primary-2-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-button-primary-2 {
display: flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
min-width: 112px;
padding: 14px 24px;
position: relative;
overflow-x: hidden;
overflow-y: hidden;
background-color: transparent;
background-image: linear-gradient(to right, #E61E4D 0%, #E31C5F 50%, #D70466 100%);
color: #FFFFFF;
border: 0;
border-radius: 999px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 20px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, border-color, color;
}
.c-button-primary-2:focus {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
outline: none;
}
States
Button, secondary (3)
Verification: flagged, the render matched 63% of the original pixels, below the 97% required after 2 correction attempts.
Anatomy
button-secondary-3: the component root, a <button> (.c-button-secondary-3)button-secondary-3-group: inner flex row (.c-button-secondary-3__group)button-secondary-3-icon: icon placeholder, 16px (.c-button-secondary-3__icon)button-secondary-3-label: label text, 15 characters (.c-button-secondary-3__label)Recipe
<div class="c-button-secondary-3-scope">
<button class="c-button-secondary-3" type="button">
<span class="c-button-secondary-3__group">
<span class="c-button-secondary-3__icon" aria-hidden="true"></span>
<span class="c-button-secondary-3__label">lorem ipsum dol</span>
</span>
</button>
</div>
.c-button-secondary-3-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-button-secondary-3 {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
min-width: 75px;
padding: 8px 16px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 8px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 12px;
font-weight: 500;
line-height: 16px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-button-secondary-3__group {
display: inline-flex;
justify-content: center;
align-items: center;
gap: 4px;
box-sizing: border-box;
vertical-align: top;
}
.c-button-secondary-3__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
overflow-x: hidden;
overflow-y: hidden;
background-color: currentcolor;
}
.c-button-secondary-3:hover {
background-color: #EBEBEB;
}
.c-button-secondary-3:focus {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
outline: none;
}
States
button-secondary-3-hover): background-color #EBEBEBButton, secondary (4)
Verification: verified against the live page at desktop.
Anatomy
button-secondary-4: the component root, a <button> (.c-button-secondary-4), 21-character labelRecipe
<div class="c-button-secondary-4-scope">
<button class="c-button-secondary-4" type="button">lorem ipsum dolor sit</button>
</div>
.c-button-secondary-4-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-button-secondary-4 {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
min-width: 112px;
padding: 14px 24px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 12px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 20px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-button-secondary-4:hover {
background-color: #EBEBEB;
}
.c-button-secondary-4:focus {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
outline: none;
}
States
button-secondary-4-hover): background-color #EBEBEBButton, ghost (8)
Verification: flagged, the render matched 95% of the original pixels, below the 97% required on focus after 2 correction attempts.
Anatomy
button-ghost-8: the component root, a <button> (.c-button-ghost-8)button-ghost-8-group: inner flex row (.c-button-ghost-8__group)button-ghost-8-group-2: inner group (.c-button-ghost-8__group-2)button-ghost-8-icon: icon placeholder, 16px (.c-button-ghost-8__icon)button-ghost-8-label: label text, 5 characters (.c-button-ghost-8__label)Recipe
<div class="c-button-ghost-8-scope">
<button class="c-button-ghost-8" type="button">
<div class="c-button-ghost-8__group">
<span class="c-button-ghost-8__group-2">
<span class="c-button-ghost-8__icon" aria-hidden="true"></span>
</span>
<span class="c-button-ghost-8__label">lorem</span>
</div>
</button>
</div>
.c-button-ghost-8-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-button-ghost-8 {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
padding: 8px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 8px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-decoration-line: underline;
text-decoration-color: #222222;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.1s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform;
}
.c-button-ghost-8__group {
display: flex;
align-items: center;
box-sizing: border-box;
}
.c-button-ghost-8__group-2 {
display: block;
box-sizing: border-box;
margin-right: 8px;
}
.c-button-ghost-8__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
background-color: currentcolor;
}
.c-button-ghost-8:hover {
background-color: #F7F7F7;
color: #000000;
text-decoration-color: #000000;
}
.c-button-ghost-8:focus {
background-color: #F7F7F7;
box-shadow: #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px;
outline: none;
}
States
button-ghost-8-hover): background-color #F7F7F7, color #000000, text-decoration-color #000000button-ghost-8-focus): background-color #F7F7F7, box-shadow #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px, outline noneButton, ghost (9)
Verification: verified against the live page at desktop.
Anatomy
button-ghost-9: the component root, a <button> (.c-button-ghost-9)button-ghost-9-group: inner flex row (.c-button-ghost-9__group)button-ghost-9-group-2: inner group (.c-button-ghost-9__group-2)button-ghost-9-icon: icon placeholder, 16px (.c-button-ghost-9__icon)button-ghost-9-label: label text, 19 characters (.c-button-ghost-9__label)Recipe
<div class="c-button-ghost-9-scope">
<button class="c-button-ghost-9" type="button">
<span class="c-button-ghost-9__group">
<span class="c-button-ghost-9__group-2">
<span class="c-button-ghost-9__icon" aria-hidden="true"></span>
</span>
<span class="c-button-ghost-9__label">lorem ipsum dolor s</span>
</span>
</button>
</div>
.c-button-ghost-9-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-button-ghost-9 {
display: inline-block;
align-self: center;
order: 1;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 4px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 20px;
letter-spacing: normal;
text-transform: none;
text-decoration-line: underline;
text-decoration-color: #222222;
text-align: center;
transition-duration: 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: text-decoration-thickness, box-shadow, background-color;
}
.c-button-ghost-9__group {
display: flex;
align-items: center;
box-sizing: border-box;
color: #6C6C6C;
font-size: 14px;
line-height: 18px;
}
.c-button-ghost-9__group-2 {
display: block;
box-sizing: border-box;
margin-right: 16px;
}
.c-button-ghost-9__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
overflow-x: hidden;
overflow-y: hidden;
background-color: currentcolor;
}
.c-button-ghost-9:focus {
background-color: #3F3F3F;
color: #FFFFFF;
box-shadow: #3F3F3F 0px 0px 0px 2px;
outline: none;
text-decoration-color: #FFFFFF;
}
States
button-ghost-9-focus): background-color #3F3F3F, color #FFFFFF, box-shadow #3F3F3F 0px 0px 0px 2px, outline none, text-decoration-color #FFFFFFCard
Verification: flagged, the original element could not be found again.
Anatomy
card: the component root, a <a> (.c-card)card-group: inner block (.c-card__group)card-media: image placeholder, 124x18px (.c-card__media)card-text: label text, 5 characters (.c-card__text)card-text-2: label text, 20 characters (.c-card__text-2)Recipe
<div class="c-card-scope">
<a class="c-card" href="#">
<div class="c-card__group">
<span class="c-card__media" aria-hidden="true"></span>
</div>
<div class="c-card__text">lorem</div>
<div class="c-card__text-2">lorem ipsum dolor si</div>
</a>
</div>
.c-card-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-card {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
position: relative;
color: #222222;
border-radius: 20px 20px 10px 10px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
text-decoration-line: none;
transition-duration: 0.2s, 0.1s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform;
}
.c-card__group {
display: block;
box-sizing: border-box;
aspect-ratio: 20 / 19;
position: relative;
vertical-align: bottom;
border-radius: 20px;
}
.c-card__media {
display: inline-block;
flex-shrink: 0;
box-sizing: border-box;
width: 124px;
height: 18px;
background-color: currentcolor;
}
.c-card__text {
display: block;
box-sizing: border-box;
font-size: 13px;
font-weight: 500;
line-height: 16px;
padding-right: 4px;
padding-left: 4px;
margin-top: 8px;
}
.c-card__text-2 {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-size: 12px;
line-height: 16px;
padding-right: 4px;
padding-left: 4px;
margin-top: 2px;
}
.c-card:focus {
box-shadow: #FFFFFFCC 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
outline: none;
}
States
Card (2)
Verification: flagged, the original element could not be found again.
Anatomy
card-2: the component root, a <div> (.c-card-2)card-2-link: link (.c-card-2__link)card-2-group: inner flex column (.c-card-2__group)card-2-group-2: inner block (.c-card-2__group-2)card-2-group-3: inner block (.c-card-2__group-3), content not capturedcard-2-group-4: inner grid (.c-card-2__group-4)card-2-group-5: inner grid (.c-card-2__group-5), content not capturedcard-2-group-6: inner grid (.c-card-2__group-6)card-2-group-7: inner grid (.c-card-2__group-7)card-2-group-8: inner grid (.c-card-2__group-8)card-2-group-9: inner group (.c-card-2__group-9)card-2-text: label text, 17 characters (.c-card-2__text)card-2-group-10: inner block (.c-card-2__group-10)card-2-text-2: label text, 9 characters (.c-card-2__text-2, 2 instances)card-2-group-11: inner group (.c-card-2__group-11), content not capturedcard-2-group-12: inner flex row (.c-card-2__group-12)card-2-group-13: inner block (.c-card-2__group-13), content not capturedcard-2-group-14: inner group (.c-card-2__group-14), content not capturedcard-2-group-15: inner flex row (.c-card-2__group-15), content not capturedRecipe
<div class="c-card-2-scope">
<div class="c-card-2">
<a class="c-card-2__link" href="#"></a>
<div class="c-card-2__group">
<div class="c-card-2__group-2">
<div class="c-card-2__group-3"></div>
<div class="c-card-2__group-4">
<div class="c-card-2__group-5"></div>
<div class="c-card-2__group-6"></div>
<div class="c-card-2__group-7"></div>
</div>
</div>
<div class="c-card-2__group-8">
<span class="c-card-2__group-9">
<div class="c-card-2__text">lorem ipsum dolor</div>
</span>
<div class="c-card-2__group-10">
<span class="c-card-2__text-2">lorem ips</span>
<span class="c-card-2__group-11"></span>
<span class="c-card-2__text-2">lorem ipsum dol</span>
</div>
<div class="c-card-2__group-12">
<div class="c-card-2__group-13"></div>
<span class="c-card-2__group-14"></span>
<span class="c-card-2__group-15"></span>
</div>
</div>
</div>
</div>
</div>
.c-card-2-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-card-2 {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
position: relative;
color: #222222;
border-radius: 20px;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-card-2__link {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
color: #222222;
border-radius: 20px;
cursor: pointer;
text-decoration-line: none;
}
.c-card-2__group {
display: flex;
flex-direction: column;
flex-grow: 1;
flex-shrink: 0;
flex-basis: 100%;
gap: 8px;
box-sizing: border-box;
}
.c-card-2__group-2 {
display: block;
box-sizing: border-box;
position: relative;
z-index: 0;
overflow-x: clip;
overflow-y: clip;
background-color: #DDDDDD;
border-radius: 20px;
}
.c-card-2__group-3 {
display: block;
box-sizing: border-box;
aspect-ratio: 20 / 19;
}
.c-card-2__group-4 {
display: grid;
grid-template-columns: repeat(3, minmax(0px, 1fr));
grid-template-rows: repeat(3, minmax(0px, 1fr));
box-sizing: border-box;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
overflow-x: hidden;
overflow-y: hidden;
padding-top: 12px;
padding-right: 12px;
padding-left: 12px;
}
.c-card-2__group-5 {
display: grid;
column-gap: 8px;
grid-template-columns: repeat(2, minmax(min-content, auto));
box-sizing: border-box;
}
.c-card-2__group-6 {
display: grid;
align-items: center;
column-gap: 12px;
grid-template-columns: repeat(2, minmax(min-content, auto));
box-sizing: border-box;
margin-bottom: 12px;
}
.c-card-2__group-7 {
display: grid;
align-items: flex-end;
column-gap: 8px;
grid-template-columns: repeat(3, minmax(min-content, 1fr));
box-sizing: border-box;
}
.c-card-2__group-8 {
display: grid;
gap: 2px;
grid-template-columns: minmax(0px, 1fr);
box-sizing: border-box;
margin-right: 4px;
margin-left: 4px;
}
.c-card-2__group-9 {
display: block;
box-sizing: border-box;
font-size: 13px;
line-height: 16px;
}
.c-card-2__text {
display: flow-root;
box-sizing: border-box;
overflow-x: clip;
overflow-y: clip;
font-weight: 500;
text-overflow: ellipsis;
}
.c-card-2__group-10 {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-size: 12px;
line-height: 16px;
}
.c-card-2__group-11 {
display: inline;
box-sizing: border-box;
color: #C1C1C1;
font-weight: 700;
}
.c-card-2__group-12 {
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
color: #6C6C6C;
font-size: 12px;
line-height: 16px;
}
.c-card-2__group-13 {
display: block;
box-sizing: border-box;
}
.c-card-2__group-14 {
display: block;
box-sizing: border-box;
color: #C1C1C1;
font-weight: 700;
}
.c-card-2__group-15 {
display: flex;
align-items: baseline;
column-gap: 2.5px;
box-sizing: border-box;
margin-top: auto;
margin-bottom: auto;
}
States
Card (3)
Verification: flagged, the original element could not be found again.
Anatomy
card-3: the component root, a <div> (.c-card-3)card-3-link: link (.c-card-3__link)card-3-group: inner flex column (.c-card-3__group)card-3-group-2: inner block (.c-card-3__group-2)card-3-group-3: inner block (.c-card-3__group-3), content not capturedcard-3-group-4: inner grid (.c-card-3__group-4)card-3-group-5: inner grid (.c-card-3__group-5), content not capturedcard-3-group-6: inner grid (.c-card-3__group-6)card-3-group-7: inner grid (.c-card-3__group-7)card-3-group-8: inner grid (.c-card-3__group-8)card-3-group-9: inner group (.c-card-3__group-9)card-3-text: label text, 23 characters (.c-card-3__text)card-3-group-10: inner flex row (.c-card-3__group-10)card-3-group-11: inner block (.c-card-3__group-11), content not capturedcard-3-group-12: inner group (.c-card-3__group-12), content not capturedcard-3-group-13: inner flex row (.c-card-3__group-13), content not capturedRecipe
<div class="c-card-3-scope">
<div class="c-card-3">
<a class="c-card-3__link" href="#"></a>
<div class="c-card-3__group">
<div class="c-card-3__group-2">
<div class="c-card-3__group-3"></div>
<div class="c-card-3__group-4">
<div class="c-card-3__group-5"></div>
<div class="c-card-3__group-6"></div>
<div class="c-card-3__group-7"></div>
</div>
</div>
<div class="c-card-3__group-8">
<span class="c-card-3__group-9">
<div class="c-card-3__text">lorem ipsum dolor sit a</div>
</span>
<div class="c-card-3__group-10">
<div class="c-card-3__group-11"></div>
<span class="c-card-3__group-12"></span>
<span class="c-card-3__group-13"></span>
</div>
</div>
</div>
</div>
</div>
.c-card-3-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-card-3 {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
position: relative;
color: #222222;
border-radius: 20px;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-card-3__link {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
color: #222222;
border-radius: 20px;
cursor: pointer;
text-decoration-line: none;
}
.c-card-3__group {
display: flex;
flex-direction: column;
flex-grow: 1;
flex-shrink: 0;
flex-basis: 100%;
gap: 8px;
box-sizing: border-box;
}
.c-card-3__group-2 {
display: block;
box-sizing: border-box;
position: relative;
z-index: 0;
overflow-x: clip;
overflow-y: clip;
background-color: #DDDDDD;
border-radius: 20px;
}
.c-card-3__group-3 {
display: block;
box-sizing: border-box;
aspect-ratio: 20 / 19;
}
.c-card-3__group-4 {
display: grid;
grid-template-columns: repeat(3, minmax(0px, 1fr));
grid-template-rows: repeat(3, minmax(0px, 1fr));
box-sizing: border-box;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
overflow-x: hidden;
overflow-y: hidden;
padding-top: 12px;
padding-right: 12px;
padding-left: 12px;
}
.c-card-3__group-5 {
display: grid;
column-gap: 8px;
grid-template-columns: repeat(2, minmax(min-content, auto));
box-sizing: border-box;
}
.c-card-3__group-6 {
display: grid;
align-items: center;
column-gap: 12px;
grid-template-columns: repeat(2, minmax(min-content, auto));
box-sizing: border-box;
margin-bottom: 12px;
}
.c-card-3__group-7 {
display: grid;
align-items: flex-end;
column-gap: 8px;
grid-template-columns: repeat(3, minmax(min-content, 1fr));
box-sizing: border-box;
}
.c-card-3__group-8 {
display: grid;
gap: 2px;
grid-template-columns: minmax(0px, 1fr);
box-sizing: border-box;
margin-right: 4px;
margin-left: 4px;
}
.c-card-3__group-9 {
display: block;
box-sizing: border-box;
font-size: 13px;
line-height: 16px;
}
.c-card-3__text {
display: flow-root;
box-sizing: border-box;
overflow-x: clip;
overflow-y: clip;
font-weight: 500;
text-overflow: ellipsis;
}
.c-card-3__group-10 {
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
color: #6C6C6C;
font-size: 12px;
line-height: 16px;
}
.c-card-3__group-11 {
display: block;
box-sizing: border-box;
}
.c-card-3__group-12 {
display: block;
box-sizing: border-box;
color: #C1C1C1;
font-weight: 700;
}
.c-card-3__group-13 {
display: flex;
align-items: baseline;
column-gap: 2.5px;
box-sizing: border-box;
margin-top: auto;
margin-bottom: auto;
}
States
Card (4)
Verification: flagged, the original element could not be found again.
Anatomy
card-4: the component root, a <div> (.c-card-4)card-4-group: inner block (.c-card-4__group)card-4-link: link (.c-card-4__link)card-4-group-2: inner flex column (.c-card-4__group-2)card-4-group-3: inner block (.c-card-4__group-3)card-4-group-4: inner block (.c-card-4__group-4), content not capturedcard-4-group-5: inner grid (.c-card-4__group-5), content not capturedcard-4-group-6: inner grid (.c-card-4__group-6)card-4-group-7: inner group (.c-card-4__group-7), content not capturedcard-4-text: label text, 15 characters (.c-card-4__text)card-4-group-8: inner flex row (.c-card-4__group-8), content not capturedRecipe
<div class="c-card-4-scope">
<div class="c-card-4">
<div class="c-card-4__group">
<a class="c-card-4__link" href="#"></a>
<div class="c-card-4__group-2">
<div class="c-card-4__group-3">
<div class="c-card-4__group-4"></div>
<div class="c-card-4__group-5"></div>
</div>
<div class="c-card-4__group-6">
<span class="c-card-4__group-7"></span>
<div class="c-card-4__text">lorem ipsum dol</div>
<div class="c-card-4__group-8"></div>
</div>
</div>
</div>
</div>
</div>
.c-card-4-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-card-4 {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-card-4__group {
display: block;
box-sizing: border-box;
width: 100%;
position: relative;
border-radius: 20px;
}
.c-card-4__link {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
color: #222222;
border-radius: 20px;
cursor: pointer;
text-decoration-line: none;
}
.c-card-4__group-2 {
display: flex;
flex-direction: column;
flex-grow: 1;
flex-shrink: 0;
flex-basis: 100%;
gap: 8px;
box-sizing: border-box;
}
.c-card-4__group-3 {
display: block;
box-sizing: border-box;
position: relative;
z-index: 0;
overflow-x: clip;
overflow-y: clip;
background-color: #DDDDDD;
border-radius: 20px;
}
.c-card-4__group-4 {
display: block;
box-sizing: border-box;
}
.c-card-4__group-5 {
display: grid;
grid-template-columns: repeat(3, minmax(0px, 1fr));
grid-template-rows: repeat(3, minmax(0px, 1fr));
box-sizing: border-box;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
overflow-x: hidden;
overflow-y: hidden;
padding-top: 12px;
padding-right: 12px;
padding-left: 12px;
}
.c-card-4__group-6 {
display: grid;
gap: 2px;
grid-template-columns: minmax(0px, 1fr);
box-sizing: border-box;
margin-right: 4px;
margin-left: 4px;
}
.c-card-4__group-7 {
display: block;
box-sizing: border-box;
font-size: 13px;
line-height: 16px;
}
.c-card-4__text {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-size: 12px;
line-height: 16px;
}
.c-card-4__group-8 {
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
color: #6C6C6C;
font-size: 12px;
line-height: 16px;
}
States
Card (5)
Verification: flagged, the card-5-group-9 y did not reproduce the measured 82px after 2 correction attempts.
Anatomy
card-5: the component root, a <div> (.c-card-5)card-5-group: inner block (.c-card-5__group)card-5-group-2: inner flex column (.c-card-5__group-2)card-5-group-3: inner block (.c-card-5__group-3, 2 instances)card-5-group-4: inner flex row (.c-card-5__group-4), content not capturedcard-5-group-5: inner flex row (.c-card-5__group-5)card-5-group-6: inner flex row (.c-card-5__group-6), content not capturedcard-5-group-7: inner block (.c-card-5__group-7, 2 instances), content not capturedcard-5-text: label text, 11 characters (.c-card-5__text, 2 instances)card-5-group-8: inner block (.c-card-5__group-8)card-5-group-9: inner block (.c-card-5__group-9), content not capturedcard-5-group-10: inner block (.c-card-5__group-10)card-5-button: button (.c-card-5__button), content not capturedRecipe
<div class="c-card-5-scope">
<div class="c-card-5">
<div class="c-card-5__group">
<div class="c-card-5__group-2">
<div class="c-card-5__group-3">
<div class="c-card-5__group-4"></div>
</div>
<div class="c-card-5__group-5">
<div class="c-card-5__group-6"></div>
<div class="c-card-5__group-7"></div>
<div class="c-card-5__text">lorem ipsum</div>
<div class="c-card-5__group-7"></div>
<div class="c-card-5__text">lorem ipsum dolo</div>
</div>
</div>
<div class="c-card-5__group-3">
<div class="c-card-5__group-8">
<div class="c-card-5__group-9"></div>
</div>
<div class="c-card-5__group-10">
<button class="c-card-5__button" type="button"></button>
</div>
</div>
</div>
</div>
</div>
.c-card-5-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-card-5 {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
position: relative;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
padding-right: 8px;
padding-left: 8px;
}
.c-card-5__group {
display: block;
box-sizing: border-box;
margin-bottom: 40px;
}
.c-card-5__group-2 {
display: flex;
flex-direction: column;
gap: 12px;
box-sizing: border-box;
margin-bottom: 4px;
}
.c-card-5__group-3 {
display: block;
box-sizing: border-box;
}
.c-card-5__group-4 {
display: flex;
flex-direction: row-reverse;
justify-content: left;
align-items: center;
gap: 14px;
box-sizing: border-box;
}
.c-card-5__group-5 {
display: flex;
align-items: center;
box-sizing: border-box;
font-size: 14px;
font-weight: 500;
line-height: 18px;
}
.c-card-5__group-6 {
display: flex;
gap: 1px;
box-sizing: border-box;
}
.c-card-5__group-7 {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-weight: 400;
padding-right: 5px;
padding-left: 5px;
}
.c-card-5__text {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-weight: 400;
}
.c-card-5__group-8 {
display: block;
box-sizing: border-box;
line-height: 24px;
white-space: pre-wrap;
}
.c-card-5__group-9 {
box-sizing: border-box;
}
.c-card-5__group-10 {
display: block;
box-sizing: border-box;
line-height: 24px;
margin-top: 8px;
}
.c-card-5__button {
display: inline-block;
box-sizing: border-box;
padding: 0px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 4px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 24px;
letter-spacing: normal;
text-transform: none;
text-decoration-line: underline;
text-decoration-color: #222222;
text-align: start;
transition-duration: 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: text-decoration-thickness, box-shadow, background-color;
}
States
Card (9)
Verification: flagged, the original element could not be found again.
Anatomy
card-9: the component root, a <div> (.c-card-9)card-9-group: inner block (.c-card-9__group)card-9-link: link (.c-card-9__link)card-9-group-2: inner flex column (.c-card-9__group-2)card-9-group-3: inner block (.c-card-9__group-3)card-9-group-4: inner block (.c-card-9__group-4), content not capturedcard-9-group-5: inner grid (.c-card-9__group-5), content not capturedcard-9-group-6: inner grid (.c-card-9__group-6)card-9-group-7: inner group (.c-card-9__group-7), content not capturedcard-9-text: label text, 15 characters (.c-card-9__text)card-9-text-2: label text, 14 characters (.c-card-9__text-2), content not capturedcard-9-group-8: inner flex row (.c-card-9__group-8), content not capturedRecipe
<div class="c-card-9-scope">
<div class="c-card-9">
<div class="c-card-9__group">
<a class="c-card-9__link" href="#"></a>
<div class="c-card-9__group-2">
<div class="c-card-9__group-3">
<div class="c-card-9__group-4"></div>
<div class="c-card-9__group-5"></div>
</div>
<div class="c-card-9__group-6">
<span class="c-card-9__group-7"></span>
<div class="c-card-9__text">lorem ipsum dol</div>
<div class="c-card-9__text-2">lorem ipsum do</div>
<div class="c-card-9__group-8"></div>
</div>
</div>
</div>
</div>
</div>
.c-card-9-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-card-9 {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-card-9__group {
display: block;
box-sizing: border-box;
width: 100%;
position: relative;
border-radius: 20px;
}
.c-card-9__link {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
color: #222222;
border-radius: 20px;
cursor: pointer;
text-decoration-line: none;
}
.c-card-9__group-2 {
display: flex;
flex-direction: column;
flex-grow: 1;
flex-shrink: 0;
flex-basis: 100%;
gap: 8px;
box-sizing: border-box;
}
.c-card-9__group-3 {
display: block;
box-sizing: border-box;
position: relative;
z-index: 0;
overflow-x: clip;
overflow-y: clip;
background-color: #DDDDDD;
border-radius: 20px;
}
.c-card-9__group-4 {
display: block;
box-sizing: border-box;
}
.c-card-9__group-5 {
display: grid;
grid-template-columns: repeat(3, minmax(0px, 1fr));
grid-template-rows: repeat(3, minmax(0px, 1fr));
box-sizing: border-box;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
overflow-x: hidden;
overflow-y: hidden;
padding-top: 12px;
padding-right: 12px;
padding-left: 12px;
}
.c-card-9__group-6 {
display: grid;
gap: 2px;
grid-template-columns: minmax(0px, 1fr);
box-sizing: border-box;
margin-right: 4px;
margin-left: 4px;
}
.c-card-9__group-7 {
display: block;
box-sizing: border-box;
font-size: 13px;
line-height: 16px;
}
.c-card-9__text {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-size: 12px;
line-height: 16px;
}
.c-card-9__text-2 {
box-sizing: border-box;
color: #6C6C6C;
font-size: 12px;
line-height: 16px;
}
.c-card-9__group-8 {
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
color: #6C6C6C;
font-size: 12px;
line-height: 16px;
}
States
Card (10)
Verification: flagged, the original element could not be found again.
Anatomy
card-10: the component root, a <div> (.c-card-10)card-10-group: inner block (.c-card-10__group)card-10-link: link (.c-card-10__link)card-10-group-2: inner flex column (.c-card-10__group-2)card-10-group-3: inner block (.c-card-10__group-3)card-10-group-4: inner block (.c-card-10__group-4), content not capturedcard-10-group-5: inner grid (.c-card-10__group-5), content not capturedcard-10-group-6: inner grid (.c-card-10__group-6)card-10-group-7: inner group (.c-card-10__group-7), content not capturedcard-10-text: label text, 13 characters (.c-card-10__text)card-10-group-8: inner flex row (.c-card-10__group-8), content not capturedRecipe
<div class="c-card-10-scope">
<div class="c-card-10">
<div class="c-card-10__group">
<a class="c-card-10__link" href="#"></a>
<div class="c-card-10__group-2">
<div class="c-card-10__group-3">
<div class="c-card-10__group-4"></div>
<div class="c-card-10__group-5"></div>
</div>
<div class="c-card-10__group-6">
<span class="c-card-10__group-7"></span>
<div class="c-card-10__text">lorem ipsum d</div>
<div class="c-card-10__group-8"></div>
</div>
</div>
</div>
</div>
</div>
.c-card-10-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-card-10 {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-card-10__group {
display: block;
box-sizing: border-box;
width: 100%;
position: relative;
border-radius: 20px;
}
.c-card-10__link {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
color: #222222;
border-radius: 20px;
cursor: pointer;
text-decoration-line: none;
}
.c-card-10__group-2 {
display: flex;
flex-direction: column;
flex-grow: 1;
flex-shrink: 0;
flex-basis: 100%;
gap: 8px;
box-sizing: border-box;
}
.c-card-10__group-3 {
display: block;
box-sizing: border-box;
position: relative;
z-index: 0;
overflow-x: clip;
overflow-y: clip;
background-color: #DDDDDD;
border-radius: 20px;
}
.c-card-10__group-4 {
display: block;
box-sizing: border-box;
}
.c-card-10__group-5 {
display: grid;
grid-template-columns: repeat(3, minmax(0px, 1fr));
grid-template-rows: repeat(3, minmax(0px, 1fr));
box-sizing: border-box;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
overflow-x: hidden;
overflow-y: hidden;
padding-top: 12px;
padding-right: 12px;
padding-left: 12px;
}
.c-card-10__group-6 {
display: grid;
gap: 2px;
grid-template-columns: minmax(0px, 1fr);
box-sizing: border-box;
margin-right: 4px;
margin-left: 4px;
}
.c-card-10__group-7 {
display: block;
box-sizing: border-box;
font-size: 13px;
line-height: 16px;
}
.c-card-10__text {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-size: 12px;
line-height: 16px;
}
.c-card-10__group-8 {
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
color: #6C6C6C;
font-size: 12px;
line-height: 16px;
}
States
Verification: flagged, the original element could not be found again.
Anatomy
wishlist-button: the component root, a <button> (.c-wishlist-button)wishlist-button-icon: icon placeholder, 24px (.c-wishlist-button__icon)Recipe
<div class="c-wishlist-button-scope">
<button class="c-wishlist-button" type="button">
<span class="c-wishlist-button__icon" aria-hidden="true"></span>
</button>
</div>
.c-wishlist-button-scope {
background-color: #DDDDDD;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-wishlist-button {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 32px;
height: 32px;
padding: 2px 0px 0px;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 20px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-wishlist-button__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 24px;
height: 24px;
background-color: currentcolor;
}
.c-wishlist-button:hover {
transform: matrix(1.08, 0, 0, 1.08, 0, 0);
}
.c-wishlist-button:focus {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
outline: none;
transform: matrix(1.08, 0, 0, 1.08, 0, 0);
}
States
Nav link
Verification: flagged, the render matched 30% of the original pixels, below the 96% required after 2 correction attempts.
Anatomy
nav-link-active: the component root, a <button> (.c-nav-link-active), 7-character labelRecipe
<div class="c-nav-link-active-scope">
<button class="c-nav-link-active" type="button">lorem i</button>
</div>
.c-nav-link-active-scope {
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-nav-link-active {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px 16px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 8px;
cursor: default;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.1s, 0.1s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0, 0, 1, 1);
transition-property: box-shadow, transform, color;
}
.c-nav-link-active:focus {
background-color: #F7F7F7;
border-radius: 4px;
box-shadow: #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px;
outline: none;
}
States
nav-link-active-focus): background-color #F7F7F7, border-radius 4px, box-shadow #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px, outline noneNav link
Verification: verified against the live page at desktop.
Anatomy
nav-link: the component root, a <button> (.c-nav-link), 7-character labelRecipe
<div class="c-nav-link-scope">
<button class="c-nav-link" type="button">lorem i</button>
</div>
.c-nav-link-scope {
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-nav-link {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px 16px;
position: relative;
background-color: transparent;
color: #6C6C6C;
border: 0;
border-radius: 8px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.1s, 0.1s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0, 0, 1, 1);
transition-property: box-shadow, transform, color;
}
.c-nav-link:focus {
background-color: #F7F7F7;
color: #222222;
border-radius: 4px;
box-shadow: #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px;
outline: none;
}
States
nav-link-focus): background-color #F7F7F7, color #222222, border-radius 4px, box-shadow #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px, outline noneCarousel arrow
Verification: flagged, the original element could not be found again.
Anatomy
carousel-arrow: the component root, a <button> (.c-carousel-arrow)carousel-arrow-group: inner flex row (.c-carousel-arrow__group)carousel-arrow-text: label text, 1 characters (.c-carousel-arrow__text)carousel-arrow-icon: icon placeholder, 12px (.c-carousel-arrow__icon)Recipe
<div class="c-carousel-arrow-scope">
<button class="c-carousel-arrow" type="button">
<span class="c-carousel-arrow__group">
<span class="c-carousel-arrow__text">l</span>
<span class="c-carousel-arrow__icon" aria-hidden="true"></span>
</span>
</button>
</div>
.c-carousel-arrow-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-carousel-arrow {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 28px;
height: 28px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #C1C1C1;
border: 0;
border-radius: 50%;
opacity: 0.5;
cursor: not-allowed;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-carousel-arrow::before {
content: "";
display: block;
box-sizing: border-box;
width: 28px;
height: 28px;
position: absolute;
top: 14px;
right: -14px;
bottom: -14px;
left: 14px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -14, -14);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-carousel-arrow__group {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
height: 100%;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-carousel-arrow__text {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-carousel-arrow__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 12px;
height: 12px;
background-color: currentcolor;
}
.c-carousel-arrow:hover {
transform: matrix(1, 0, 0, 1, 0, 0);
}
.c-carousel-arrow:focus {
outline: none;
}
States
Carousel arrow (2)
Verification: flagged, the original element could not be found again.
Anatomy
carousel-arrow-2: the component root, a <button> (.c-carousel-arrow-2)carousel-arrow-2-group: inner flex row (.c-carousel-arrow-2__group)carousel-arrow-2-text: label text, 1 characters (.c-carousel-arrow-2__text)carousel-arrow-2-icon: icon placeholder, 12px (.c-carousel-arrow-2__icon)Recipe
<div class="c-carousel-arrow-2-scope">
<button class="c-carousel-arrow-2" type="button">
<span class="c-carousel-arrow-2__group">
<span class="c-carousel-arrow-2__text">l</span>
<span class="c-carousel-arrow-2__icon" aria-hidden="true"></span>
</span>
</button>
</div>
.c-carousel-arrow-2-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-carousel-arrow-2 {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 28px;
height: 28px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-carousel-arrow-2::before {
content: "";
display: block;
box-sizing: border-box;
width: 28px;
height: 28px;
position: absolute;
top: 14px;
right: -14px;
bottom: -14px;
left: 14px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -14, -14);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-carousel-arrow-2__group {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
height: 100%;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-carousel-arrow-2__text {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-carousel-arrow-2__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 12px;
height: 12px;
background-color: currentcolor;
}
.c-carousel-arrow-2:hover {
transform: matrix(1.07143, 0, 0, 1.07143, 0, 0);
}
.c-carousel-arrow-2:hover::before {
background-color: #EBEBEB;
}
.c-carousel-arrow-2:focus {
outline: none;
}
.c-carousel-arrow-2:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
Menu button
Verification: verified against the live page at desktop.
Anatomy
menu-button: the component root, a <button> (.c-menu-button)menu-button-group: inner flex row (.c-menu-button__group)menu-button-icon: icon placeholder, 24px (.c-menu-button__icon)Recipe
<div class="c-menu-button-scope">
<button class="c-menu-button" type="button">
<span class="c-menu-button__group">
<span class="c-menu-button__icon" aria-hidden="true"></span>
</span>
</button>
</div>
.c-menu-button-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-menu-button {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 40px;
height: 40px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-menu-button::before {
content: "";
display: block;
box-sizing: border-box;
width: 40px;
height: 40px;
position: absolute;
top: 20px;
right: -20px;
bottom: -20px;
left: 20px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -20, -20);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-menu-button__group {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-menu-button__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 24px;
height: 24px;
background-color: currentcolor;
}
.c-menu-button:hover::before {
background-color: #EBEBEB;
}
.c-menu-button:focus {
outline: none;
}
.c-menu-button:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
Menu button (2)
Verification: verified against the live page at desktop.
Anatomy
menu-button-2: the component root, a <button> (.c-menu-button-2)menu-button-2-group: inner flex row (.c-menu-button-2__group)menu-button-2-icon: icon placeholder, 16px (.c-menu-button-2__icon)Recipe
<div class="c-menu-button-2-scope">
<button class="c-menu-button-2" type="button">
<span class="c-menu-button-2__group">
<span class="c-menu-button-2__icon" aria-hidden="true"></span>
</span>
</button>
</div>
.c-menu-button-2-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-menu-button-2 {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 40px;
height: 40px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-menu-button-2::before {
content: "";
display: block;
box-sizing: border-box;
width: 40px;
height: 40px;
position: absolute;
top: 20px;
right: -20px;
bottom: -20px;
left: 20px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -20, -20);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-menu-button-2__group {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-menu-button-2__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
background-color: currentcolor;
}
.c-menu-button-2:hover::before {
background-color: #EBEBEB;
}
.c-menu-button-2:focus {
outline: none;
}
.c-menu-button-2:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
Header (landing)
Verification: flagged, the header-landing-group y did not reproduce the measured 0px after 2 correction attempts.
Variant observed on https://www.airbnb.com/.
Anatomy
header-landing: the component root, a <header> (.c-header-landing)header-landing-logo: link (.c-header-landing__logo)header-landing-logo-icon: icon placeholder, 102x32px (.c-header-landing__logo-icon)header-landing-group: inner group (.c-header-landing__group)header-landing-group-2: inner flex column (.c-header-landing__group-2)header-landing-group-3: inner block (.c-header-landing__group-3, 6 instances), content not capturedheader-landing-group-4: inner block (.c-header-landing__group-4)header-landing-group-5: inner grid (.c-header-landing__group-5)header-landing-link: link (.c-header-landing__link)header-landing-group-6: inner group (.c-header-landing__group-6, 4 instances)header-landing-group-7: inner group (.c-header-landing__group-7, 4 instances), content not capturedheader-landing-text: label text, 3 characters (.c-header-landing__text)header-landing-text-2: label text, 3 characters (.c-header-landing__text-2, 4 instances)header-landing-link-2: link (.c-header-landing__link-2)header-landing-text-3: label text, 5 characters (.c-header-landing__text-3)header-landing-link-3: link (.c-header-landing__link-3)header-landing-text-4: label text, 11 characters (.c-header-landing__text-4)header-landing-link-4: link (.c-header-landing__link-4)header-landing-text-5: label text, 8 characters (.c-header-landing__text-5)header-landing-inner: inner flex row (.c-header-landing__inner)header-landing-group-8: inner block (.c-header-landing__group-8)header-landing-group-9: inner block (.c-header-landing__group-9)header-landing-group-10: inner grid (.c-header-landing__group-10)header-landing-group-11: inner flex row (.c-header-landing__group-11, 3 instances)header-landing-group-12: inner block (.c-header-landing__group-12)header-landing-text-6: label text, 5 characters (.c-header-landing__text-6, 3 instances)header-landing-group-13: inner block (.c-header-landing__group-13, 2 instances)header-landing-group-14: inner block (.c-header-landing__group-14)header-landing-group-15: inner block (.c-header-landing__group-15)header-landing-group-16: inner block (.c-header-landing__group-16)header-landing-group-17: inner flex row (.c-header-landing__group-17)header-landing-group-18: inner block (.c-header-landing__group-18)header-landing-nav: inner flex row (.c-header-landing__nav)header-landing-group-19: inner flex row (.c-header-landing__group-19)header-landing-cta: the button-secondary button, 13-character label (.c-header-landing__cta)header-landing-group-20: inner block (.c-header-landing__group-20)header-landing-menu-toggle: button (.c-header-landing__menu-toggle, 2 instances)header-landing-group-21: inner flex row (.c-header-landing__group-21, 2 instances)header-landing-icon: icon placeholder, 24px (.c-header-landing__icon)header-landing-group-22: inner block (.c-header-landing__group-22)header-landing-icon-2: icon placeholder, 16px (.c-header-landing__icon-2)Recipe
<div class="c-header-landing-scope">
<header class="c-header-landing">
<a class="c-header-landing__logo" href="#">
<span class="c-header-landing__logo-icon" aria-hidden="true"></span>
</a>
<div class="c-header-landing__group">
<div class="c-header-landing__group-2">
<div class="c-header-landing__group-3">
<div class="c-header-landing__group-4">
<div class="c-header-landing__group-5">
<a class="c-header-landing__link" href="#">
<span class="c-header-landing__group-6">
<span class="c-header-landing__group-7"></span>
</span>
<span class="c-header-landing__text">lor</span>
<span class="c-header-landing__text-2">lor</span>
</a>
<a class="c-header-landing__link-2" href="#">
<span class="c-header-landing__group-6">
<span class="c-header-landing__group-7"></span>
</span>
<span class="c-header-landing__text-3">lorem</span>
<span class="c-header-landing__text-2">lorem</span>
</a>
<a class="c-header-landing__link-3" href="#">
<span class="c-header-landing__group-6">
<span class="c-header-landing__group-7"></span>
</span>
<span class="c-header-landing__text-4">lorem ipsum</span>
<span class="c-header-landing__text-2">lorem ipsum</span>
</a>
<a class="c-header-landing__link-4" href="#">
<span class="c-header-landing__group-6">
<span class="c-header-landing__group-7"></span>
</span>
<span class="c-header-landing__text-5">lorem ip</span>
<span class="c-header-landing__text-2">lorem ip</span>
</a>
</div>
</div>
<div class="c-header-landing__inner">
<div class="c-header-landing__group-8">
<div class="c-header-landing__group-9"></div>
</div>
<div class="c-header-landing__group-10">
<div class="c-header-landing__group-11">
<div class="c-header-landing__group-12">
<div class="c-header-landing__text-6">lorem</div>
<div class="c-header-landing__group-3"></div>
</div>
</div>
<div class="c-header-landing__group-13"></div>
<div class="c-header-landing__group-11">
<div class="c-header-landing__group-14">
<div class="c-header-landing__text-6">lore</div>
<div class="c-header-landing__group-3"></div>
</div>
</div>
<div class="c-header-landing__group-13"></div>
<div class="c-header-landing__group-11">
<div class="c-header-landing__group-15">
<div class="c-header-landing__text-6">lor</div>
<div class="c-header-landing__group-3"></div>
</div>
</div>
</div>
<div class="c-header-landing__group-16">
<div class="c-header-landing__group-17">
<div class="c-header-landing__group-3"></div>
</div>
</div>
</div>
</div>
</div>
<div class="c-header-landing__group-18"></div>
</div>
<nav class="c-header-landing__nav">
<div class="c-header-landing__group-19">
<button class="c-header-landing__cta" type="button">lorem ipsum d</button>
<div class="c-header-landing__group-20">
<button class="c-header-landing__menu-toggle" type="button">
<span class="c-header-landing__group-21">
<span class="c-header-landing__icon" aria-hidden="true"></span>
</span>
</button>
</div>
</div>
<div class="c-header-landing__group-3">
<div class="c-header-landing__group-22">
<button class="c-header-landing__menu-toggle" type="button">
<span class="c-header-landing__group-21">
<span class="c-header-landing__icon-2" aria-hidden="true"></span>
</span>
</button>
</div>
</div>
</nav>
</header>
</div>
.c-header-landing-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-header-landing {
display: flex;
justify-content: space-between;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
height: 96px;
max-width: 1920px;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
padding-right: 48px;
padding-left: 48px;
}
.c-header-landing__logo {
display: inline-flex;
align-items: center;
box-sizing: border-box;
height: 80px;
position: relative;
z-index: 1;
vertical-align: middle;
color: #FF385C;
cursor: pointer;
text-decoration-line: none;
transition: color 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-landing__logo::before {
content: "";
display: block;
box-sizing: border-box;
width: 126px;
height: 56px;
position: absolute;
top: 12px;
right: -12px;
bottom: 12px;
left: -12px;
border-radius: 12px;
}
.c-header-landing__logo-icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 102px;
height: 32px;
overflow-x: hidden;
overflow-y: hidden;
background-color: currentcolor;
}
.c-header-landing__group {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
z-index: 0;
padding-right: 48px;
padding-left: 48px;
}
.c-header-landing__group-2 {
display: flex;
flex-direction: column;
align-items: center;
box-sizing: border-box;
width: 100%;
position: relative;
z-index: 1;
margin-top: 8px;
}
.c-header-landing__group-3 {
display: block;
box-sizing: border-box;
}
.c-header-landing__group-4 {
display: block;
box-sizing: border-box;
width: 500px;
margin: 22px auto 24px;
transition: opacity 0.175s cubic-bezier(0, 0, 1, 1);
}
.c-header-landing__group-5 {
display: grid;
justify-content: center;
gap: 35px;
grid-auto-flow: column;
box-sizing: border-box;
position: relative;
margin-top: 8px;
}
.c-header-landing__link {
display: flex;
align-items: center;
box-sizing: border-box;
color: #222222;
cursor: pointer;
text-decoration-line: none;
padding-right: 5px;
margin-right: 5px;
margin-bottom: 12px;
}
.c-header-landing__group-6 {
display: block;
box-sizing: border-box;
position: relative;
}
.c-header-landing__group-7 {
display: block;
box-sizing: border-box;
width: 36px;
height: 36px;
}
.c-header-landing__text {
display: block;
box-sizing: border-box;
font-weight: 500;
line-height: 18px;
white-space: nowrap;
margin-left: 8px;
}
.c-header-landing__text-2 {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-header-landing__link-2 {
display: flex;
align-items: center;
box-sizing: border-box;
color: #222222;
cursor: pointer;
text-decoration-line: none;
padding-left: 5px;
margin-bottom: 12px;
margin-left: -5px;
}
.c-header-landing__text-3 {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-weight: 500;
line-height: 18px;
white-space: nowrap;
margin-left: 16px;
}
.c-header-landing__link-3 {
display: flex;
align-items: center;
box-sizing: border-box;
color: #222222;
cursor: pointer;
text-decoration-line: none;
margin-bottom: 12px;
}
.c-header-landing__text-4 {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-weight: 500;
line-height: 18px;
white-space: nowrap;
margin-left: 8px;
}
.c-header-landing__link-4 {
display: flex;
align-items: center;
box-sizing: border-box;
color: #222222;
cursor: pointer;
text-decoration-line: none;
padding-left: 2px;
margin-bottom: 12px;
margin-left: -2px;
}
.c-header-landing__text-5 {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-weight: 500;
line-height: 18px;
white-space: nowrap;
margin-left: 12px;
}
.c-header-landing__inner {
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
box-sizing: border-box;
width: 100%;
height: 66px;
max-width: 850px;
position: absolute;
left: 50%;
border-radius: 32px;
transform: matrix(1, 0, 0, 1, -425, 0);
}
.c-header-landing__group-8 {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
z-index: -3;
background-color: #FFFFFF;
border-radius: 100px;
}
.c-header-landing__group-9 {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
z-index: -3;
border: 1px solid #DDDDDD;
border-radius: 100px;
box-shadow: color(srgb 0 0 0 / 0.02) 0px 0px 0px 1px, color(srgb 0 0 0 / 0.1) 0px 8px 24px 0px;
}
.c-header-landing__group-10 {
display: grid;
align-items: center;
gap: 2px;
grid-template-columns: [location] minmax(0px, 2fr) 1px [center-start] minmax(0px, 1fr) 1px minmax(0px, 1fr) [center-end] 1px [last] minmax(0px, 2fr);
box-sizing: border-box;
width: 100%;
height: 100%;
border-radius: 32px;
}
.c-header-landing__group-11 {
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
width: 100%;
height: 100%;
position: relative;
border-radius: 32px;
cursor: pointer;
}
.c-header-landing__group-11::before {
content: "";
display: block;
box-sizing: border-box;
width: 286px;
height: 32px;
position: absolute;
top: 33px;
right: -4px;
bottom: 1px;
left: -4px;
z-index: -1;
transform: matrix(1, 0, 0, 1, 0, -16);
}
.c-header-landing__group-11::after {
content: "";
display: block;
box-sizing: border-box;
width: 348px;
height: 66px;
position: absolute;
top: 0px;
right: -70px;
bottom: 0px;
left: 0px;
z-index: -1;
border-radius: 32px;
}
.c-header-landing__group-12 {
display: block;
box-sizing: border-box;
width: 100%;
padding: 15px 32px;
position: relative;
z-index: 2;
overflow-x: clip;
overflow-y: clip;
}
.c-header-landing__text-6 {
display: block;
box-sizing: border-box;
overflow-x: clip;
overflow-y: clip;
font-size: 12px;
font-weight: 500;
line-height: 16px;
white-space: nowrap;
text-overflow: ellipsis;
padding-bottom: 2px;
}
.c-header-landing__group-13 {
display: block;
box-sizing: border-box;
width: 1px;
height: 32px;
background-color: #DDDDDD;
}
.c-header-landing__group-14 {
display: block;
box-sizing: border-box;
width: 100%;
padding: 15px 24px;
position: relative;
z-index: 2;
overflow-x: clip;
overflow-y: clip;
}
.c-header-landing__group-15 {
display: block;
box-sizing: border-box;
width: 100%;
padding: 15px 130.904px 15px 24px;
position: relative;
z-index: 2;
overflow-x: clip;
overflow-y: clip;
}
.c-header-landing__group-16 {
display: block;
box-sizing: border-box;
padding: 10px;
position: absolute;
right: 0px;
z-index: 2;
}
.c-header-landing__group-17 {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 48px;
height: 48px;
padding: 10px;
background-color: #DA1249;
color: #FFFFFF;
border-radius: 50px;
cursor: pointer;
}
.c-header-landing__group-18 {
display: block;
box-sizing: border-box;
width: 100%;
height: 96px;
position: absolute;
top: 0px;
left: 0px;
background-image: linear-gradient(in srgb, #FFFFFF 39.9%, color(srgb 0.972471 0.972471 0.972471) 100%);
transform: matrix(1, 0, 0, 2.08, 0, 0);
transition: transform 0.451754s linear(0 0%, 0.185572 10%, 0.465306 20%, 0.682334 30%, 0.822325 40%, 0.904974 50%, 0.951289 60%, 0.976364 70%, 0.989612 80%, 0.996485 90%, 1 100%);
}
.c-header-landing__group-18::after {
content: "";
display: block;
box-sizing: border-box;
width: 1425px;
height: 2px;
position: absolute;
top: 96px;
right: 0px;
bottom: -2px;
left: 0px;
background-color: #EBEBEB;
transform: matrix(1, 0, 0, 0.48, 0, 0);
transition: transform 0.451754s linear(0 0%, 0.185572 10%, 0.465306 20%, 0.682334 30%, 0.822325 40%, 0.904974 50%, 0.951289 60%, 0.976364 70%, 0.989612 80%, 0.996485 90%, 1 100%);
}
.c-header-landing__nav {
display: flex;
justify-content: flex-end;
align-items: center;
box-sizing: border-box;
height: 80px;
position: relative;
}
.c-header-landing__group-19 {
display: flex;
justify-content: flex-end;
align-items: center;
flex-grow: 1;
gap: 12px;
box-sizing: border-box;
margin-right: 12px;
}
.c-header-landing__cta {
display: block;
box-sizing: border-box;
padding: 11px 12px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 20px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-header-landing__group-20 {
display: block;
box-sizing: border-box;
position: relative;
vertical-align: middle;
margin-top: auto;
margin-bottom: auto;
}
.c-header-landing__menu-toggle {
display: inline-flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-landing__menu-toggle::before {
content: "";
display: block;
box-sizing: border-box;
width: 40px;
height: 40px;
position: absolute;
top: 20px;
right: -20px;
bottom: -20px;
left: 20px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -20, -20);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-header-landing__group-21 {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-landing__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 24px;
height: 24px;
background-color: currentcolor;
}
.c-header-landing__group-22 {
display: inline;
box-sizing: border-box;
position: relative;
}
.c-header-landing__icon-2 {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
background-color: currentcolor;
}
.c-header-landing__logo:focus {
outline: none;
}
.c-header-landing__logo:focus::before {
box-shadow: #222222 0px 0px 0px 2px;
}
.c-header-landing__link:focus {
border-radius: 8px;
outline: 2px solid #222222;
outline-offset: 4px;
}
.c-header-landing__link-2:focus {
border-radius: 8px;
outline: 2px solid #222222;
outline-offset: 4px;
}
.c-header-landing__link-3:focus {
border-radius: 8px;
outline: 2px solid #222222;
outline-offset: 4px;
}
.c-header-landing__link-4:focus {
border-radius: 8px;
outline: 2px solid #222222;
outline-offset: 4px;
}
.c-header-landing__cta:hover {
background-color: #F7F7F7;
}
.c-header-landing__cta:focus {
box-shadow: #222222 0px 0px 0px 2px;
outline: none;
}
.c-header-landing__menu-toggle:hover::before {
background-color: #EBEBEB;
}
.c-header-landing__menu-toggle:focus {
outline: none;
}
.c-header-landing__menu-toggle:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
header-landing-logo focus: outline none, ::before box-shadow #222222 0px 0px 0px 2pxheader-landing-link focus (header-landing-link-focus): border-radius 8px, outline 2px solid #222222, outline-offset 4pxheader-landing-link-2 focus (header-landing-link-2-focus): border-radius 8px, outline 2px solid #222222, outline-offset 4pxheader-landing-link-3 focus (header-landing-link-3-focus): border-radius 8px, outline 2px solid #222222, outline-offset 4pxheader-landing-link-4 focus (header-landing-link-4-focus): border-radius 8px, outline 2px solid #222222, outline-offset 4pxheader-landing-cta hover (header-landing-cta-hover): background-color #F7F7F7header-landing-cta focus: box-shadow #222222 0px 0px 0px 2px, outline noneheader-landing-menu-toggle hover: ::before background-color #EBEBEBheader-landing-menu-toggle focus: outline none, ::before box-shadow #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4pxHeader (inner)
Verification: flagged, the header-inner-group y did not reproduce the measured 0px after 2 correction attempts.
Variant observed on https://www.airbnb.com/homes.
Anatomy
header-inner: the component root, a <header> (.c-header-inner)header-inner-logo: link (.c-header-inner__logo)header-inner-logo-icon: icon placeholder, 102x32px (.c-header-inner__logo-icon)header-inner-group: inner group (.c-header-inner__group)header-inner-group-2: inner flex column (.c-header-inner__group-2)header-inner-group-3: inner block (.c-header-inner__group-3, 3 instances)header-inner-inner: inner flex row (.c-header-inner__inner)header-inner-inner-2: inner flex row (.c-header-inner__inner-2)header-inner-inner-3: inner flex row (.c-header-inner__inner-3)header-inner-text: label text, 17 characters (.c-header-inner__text)header-inner-group-4: inner block (.c-header-inner__group-4)header-inner-group-5: inner block (.c-header-inner__group-5)header-inner-group-6: inner flex row (.c-header-inner__group-6)header-inner-group-7: inner block (.c-header-inner__group-7), content not capturedheader-inner-group-8: inner block (.c-header-inner__group-8)header-inner-nav: inner flex row (.c-header-inner__nav)header-inner-group-9: inner flex row (.c-header-inner__group-9)header-inner-cta: the button-secondary button, 13-character label (.c-header-inner__cta)header-inner-group-10: inner block (.c-header-inner__group-10)header-inner-cta-2: the button-ghost-5 button (.c-header-inner__cta-2, 2 instances)header-inner-group-11: inner flex row (.c-header-inner__group-11, 2 instances)header-inner-icon: icon placeholder, 24px (.c-header-inner__icon)header-inner-group-12: inner block (.c-header-inner__group-12)header-inner-icon-2: icon placeholder, 16px (.c-header-inner__icon-2)Recipe
<div class="c-header-inner-scope">
<header class="c-header-inner">
<a class="c-header-inner__logo" href="#">
<span class="c-header-inner__logo-icon" aria-hidden="true"></span>
</a>
<div class="c-header-inner__group">
<div class="c-header-inner__group-2">
<div class="c-header-inner__group-3">
<div class="c-header-inner__inner"></div>
<div class="c-header-inner__inner-2">
<div class="c-header-inner__inner-3">
<span class="c-header-inner__text">lorem ipsum dolor</span>
<div class="c-header-inner__group-4"></div>
<div class="c-header-inner__group-5">
<div class="c-header-inner__group-6">
<div class="c-header-inner__group-7"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="c-header-inner__group-8"></div>
</div>
<div class="c-header-inner__group-3">
<nav class="c-header-inner__nav">
<div class="c-header-inner__group-9">
<button class="c-header-inner__cta" type="button">lorem ipsum d</button>
<div class="c-header-inner__group-10">
<button class="c-header-inner__cta-2" type="button">
<span class="c-header-inner__group-11">
<span class="c-header-inner__icon" aria-hidden="true"></span>
</span>
</button>
</div>
</div>
<div class="c-header-inner__group-3">
<div class="c-header-inner__group-12">
<button class="c-header-inner__cta-2" type="button">
<span class="c-header-inner__group-11">
<span class="c-header-inner__icon-2" aria-hidden="true"></span>
</span>
</button>
</div>
</div>
</nav>
</div>
</header>
</div>
.c-header-inner-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-header-inner {
display: flex;
justify-content: space-between;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
height: 96px;
max-width: 1920px;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
padding-right: 48px;
padding-left: 48px;
}
.c-header-inner__logo {
display: inline-flex;
align-items: center;
box-sizing: border-box;
height: 80px;
position: relative;
z-index: 1;
vertical-align: middle;
color: #FF385C;
cursor: pointer;
text-decoration-line: none;
transition: color 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-inner__logo::before {
content: "";
display: block;
box-sizing: border-box;
width: 126px;
height: 56px;
position: absolute;
top: 12px;
right: -12px;
bottom: 12px;
left: -12px;
border-radius: 12px;
}
.c-header-inner__logo-icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 102px;
height: 32px;
overflow-x: hidden;
overflow-y: hidden;
background-color: currentcolor;
}
.c-header-inner__group {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
z-index: 0;
padding-right: 48px;
padding-left: 48px;
}
.c-header-inner__group-2 {
display: flex;
flex-direction: column;
align-items: center;
box-sizing: border-box;
width: 100%;
position: relative;
z-index: 1;
transform: matrix(1, 0, 0, 1, 0, -67.8259);
margin-top: 8px;
}
.c-header-inner__group-3 {
display: block;
box-sizing: border-box;
}
.c-header-inner__inner {
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
box-sizing: border-box;
width: 100%;
height: 66px;
max-width: 850px;
position: absolute;
left: 50%;
border-radius: 32px;
transform: matrix(1, 0, 0, 1, -425, 0);
}
.c-header-inner__inner-2 {
display: flex;
justify-content: center;
align-items: center;
gap: 16px;
box-sizing: border-box;
width: 100%;
max-width: 100%;
position: absolute;
left: 50%;
transform: matrix(1, 0, 0, 1, -664.5, 0);
}
.c-header-inner__inner-3 {
display: flex;
align-items: center;
box-sizing: border-box;
max-width: 100%;
position: relative;
border-radius: 40px;
cursor: pointer;
transition: box-shadow 0.175s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-inner__text {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-header-inner__group-4 {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
z-index: -1;
background-color: #FFFFFF;
border: 1px solid #DDDDDD;
border-radius: 11.0852% 105.801%;
box-shadow: #00000014 0px 1px 2px 0px, #0000000D 0px 4px 12px 0px;
transform: matrix(1.2816, 0, 0, 1, 0, 0);
}
.c-header-inner__group-5 {
display: block;
box-sizing: border-box;
padding-top: 7px;
padding-right: 7px;
padding-bottom: 7px;
}
.c-header-inner__group-6 {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 32px;
height: 32px;
padding: 10px;
background-color: #DA1249;
color: #FFFFFF;
border-radius: 83.784%;
transform: matrix(1.11159, 0, 0, 1, 50.4599, 0);
}
.c-header-inner__group-7 {
display: block;
box-sizing: border-box;
transform: matrix(0.966537, 0, 0, 1, 0, 0);
}
.c-header-inner__group-8 {
display: block;
box-sizing: border-box;
width: 100%;
height: 96px;
position: absolute;
top: 0px;
left: 0px;
background-image: linear-gradient(in srgb, #FFFFFF 39.9%, color(srgb 0.972471 0.972471 0.972471) 100%);
transform: matrix(1, 0, 0, 1.29475, 0, 0);
transition: transform 0.451754s linear(0 0%, 0.185572 10%, 0.465306 20%, 0.682334 30%, 0.822325 40%, 0.904974 50%, 0.951289 60%, 0.976364 70%, 0.989612 80%, 0.996485 90%, 1 100%);
}
.c-header-inner__group-8::after {
content: "";
display: block;
box-sizing: border-box;
width: 1425px;
height: 2px;
position: absolute;
top: 96px;
right: 0px;
bottom: -2px;
left: 0px;
background-color: #EBEBEB;
transform: matrix(1, 0, 0, 1, 0, 0);
transition: transform 0.451754s linear(0 0%, 0.185572 10%, 0.465306 20%, 0.682334 30%, 0.822325 40%, 0.904974 50%, 0.951289 60%, 0.976364 70%, 0.989612 80%, 0.996485 90%, 1 100%);
}
.c-header-inner__nav {
display: flex;
justify-content: flex-end;
align-items: center;
box-sizing: border-box;
height: 80px;
position: relative;
}
.c-header-inner__group-9 {
display: flex;
justify-content: flex-end;
align-items: center;
flex-grow: 1;
gap: 12px;
box-sizing: border-box;
margin-right: 12px;
}
.c-header-inner__cta {
display: block;
box-sizing: border-box;
padding: 11px 12px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 20px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-header-inner__group-10 {
display: block;
box-sizing: border-box;
position: relative;
vertical-align: middle;
margin-top: auto;
margin-bottom: auto;
}
.c-header-inner__cta-2 {
display: inline-flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-inner__cta-2::before {
content: "";
display: block;
box-sizing: border-box;
width: 40px;
height: 40px;
position: absolute;
top: 20px;
right: -20px;
bottom: -20px;
left: 20px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -20, -20);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-header-inner__group-11 {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-inner__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 24px;
height: 24px;
background-color: currentcolor;
}
.c-header-inner__group-12 {
display: inline;
box-sizing: border-box;
position: relative;
}
.c-header-inner__icon-2 {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
background-color: currentcolor;
}
.c-header-inner__logo:focus {
outline: none;
}
.c-header-inner__logo:focus::before {
box-shadow: #222222 0px 0px 0px 2px;
}
.c-header-inner__cta:hover {
background-color: #F7F7F7;
}
.c-header-inner__cta:focus {
box-shadow: #222222 0px 0px 0px 2px;
outline: none;
}
.c-header-inner__cta-2:hover::before {
background-color: #EBEBEB;
}
.c-header-inner__cta-2:focus {
outline: none;
}
.c-header-inner__cta-2:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
header-inner-logo focus: outline none, ::before box-shadow #222222 0px 0px 0px 2pxheader-inner-cta hover (header-inner-cta-hover): background-color #F7F7F7header-inner-cta focus: box-shadow #222222 0px 0px 0px 2px, outline noneheader-inner-cta-2 hover: ::before background-color #EBEBEBheader-inner-cta-2 focus: outline none, ::before box-shadow #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4pxHeader (inner, 2)
Verification: verified against the live page at desktop.
Variant observed on https://www.airbnb.com/rooms/882493816552038952.
Anatomy
header-inner-2: the component root, a <nav> (.c-header-inner-2)header-inner-2-group: inner flex row (.c-header-inner-2__group)header-inner-2-button: button, 13-character label (.c-header-inner-2__button)header-inner-2-group-2: inner block (.c-header-inner-2__group-2)header-inner-2-menu-toggle: button (.c-header-inner-2__menu-toggle, 2 instances)header-inner-2-group-3: inner flex row (.c-header-inner-2__group-3, 2 instances)header-inner-2-logo: icon placeholder, 24px (.c-header-inner-2__logo)header-inner-2-group-4: inner block (.c-header-inner-2__group-4)header-inner-2-group-5: inner block (.c-header-inner-2__group-5)header-inner-2-icon: icon placeholder, 16px (.c-header-inner-2__icon)Recipe
<div class="c-header-inner-2-scope">
<nav class="c-header-inner-2">
<div class="c-header-inner-2__group">
<button class="c-header-inner-2__button" type="button">lorem ipsum d</button>
<div class="c-header-inner-2__group-2">
<button class="c-header-inner-2__menu-toggle" type="button">
<span class="c-header-inner-2__group-3">
<span class="c-header-inner-2__logo" aria-hidden="true"></span>
</span>
</button>
</div>
</div>
<div class="c-header-inner-2__group-4">
<div class="c-header-inner-2__group-5">
<button class="c-header-inner-2__menu-toggle" type="button">
<span class="c-header-inner-2__group-3">
<span class="c-header-inner-2__icon" aria-hidden="true"></span>
</span>
</button>
</div>
</div>
</nav>
</div>
.c-header-inner-2-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-header-inner-2 {
display: flex;
justify-content: flex-end;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
height: 80px;
position: relative;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-header-inner-2__group {
display: flex;
justify-content: flex-end;
align-items: center;
flex-grow: 1;
gap: 12px;
box-sizing: border-box;
margin-right: 12px;
}
.c-header-inner-2__button {
display: block;
box-sizing: border-box;
padding: 11px 12px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 20px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-header-inner-2__group-2 {
display: block;
box-sizing: border-box;
position: relative;
vertical-align: middle;
margin-top: auto;
margin-bottom: auto;
}
.c-header-inner-2__menu-toggle {
display: inline-flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-inner-2__menu-toggle::before {
content: "";
display: block;
box-sizing: border-box;
width: 40px;
height: 40px;
position: absolute;
top: 20px;
right: -20px;
bottom: -20px;
left: 20px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -20, -20);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-header-inner-2__group-3 {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-inner-2__logo {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 24px;
height: 24px;
background-color: currentcolor;
}
.c-header-inner-2__group-4 {
display: block;
box-sizing: border-box;
}
.c-header-inner-2__group-5 {
display: inline;
box-sizing: border-box;
position: relative;
}
.c-header-inner-2__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
background-color: currentcolor;
}
.c-header-inner-2__button:hover {
background-color: #F7F7F7;
}
.c-header-inner-2__button:focus {
box-shadow: #222222 0px 0px 0px 2px;
outline: none;
}
.c-header-inner-2__menu-toggle:hover::before {
background-color: #EBEBEB;
}
.c-header-inner-2__menu-toggle:focus {
outline: none;
}
.c-header-inner-2__menu-toggle:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
header-inner-2-button hover (header-inner-2-button-hover): background-color #F7F7F7header-inner-2-button focus: box-shadow #222222 0px 0px 0px 2px, outline noneheader-inner-2-menu-toggle hover: ::before background-color #EBEBEBheader-inner-2-menu-toggle focus: outline none, ::before box-shadow #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4pxHeader (inner, 3)
Verification: flagged, the header-inner-3-group y did not reproduce the measured 0px after 2 correction attempts.
Variant observed on https://www.airbnb.com/experiences.
Anatomy
header-inner-3: the component root, a <header> (.c-header-inner-3)header-inner-3-logo: link (.c-header-inner-3__logo)header-inner-3-logo-icon: icon placeholder, 102x32px (.c-header-inner-3__logo-icon)header-inner-3-group: inner group (.c-header-inner-3__group)header-inner-3-group-2: inner flex column (.c-header-inner-3__group-2)header-inner-3-group-3: inner block (.c-header-inner-3__group-3, 6 instances), content not capturedheader-inner-3-group-4: inner block (.c-header-inner-3__group-4)header-inner-3-group-5: inner grid (.c-header-inner-3__group-5)header-inner-3-link: link (.c-header-inner-3__link)header-inner-3-group-6: inner group (.c-header-inner-3__group-6, 4 instances)header-inner-3-group-7: inner group (.c-header-inner-3__group-7, 4 instances), content not capturedheader-inner-3-text: label text, 3 characters (.c-header-inner-3__text)header-inner-3-text-2: label text, 3 characters (.c-header-inner-3__text-2, 4 instances)header-inner-3-link-2: link (.c-header-inner-3__link-2)header-inner-3-text-3: label text, 5 characters (.c-header-inner-3__text-3)header-inner-3-link-3: link (.c-header-inner-3__link-3)header-inner-3-text-4: label text, 11 characters (.c-header-inner-3__text-4)header-inner-3-link-4: link (.c-header-inner-3__link-4)header-inner-3-text-5: label text, 8 characters (.c-header-inner-3__text-5)header-inner-3-inner: inner flex row (.c-header-inner-3__inner)header-inner-3-group-8: inner block (.c-header-inner-3__group-8)header-inner-3-group-9: inner block (.c-header-inner-3__group-9)header-inner-3-group-10: inner grid (.c-header-inner-3__group-10)header-inner-3-group-11: inner flex row (.c-header-inner-3__group-11, 3 instances)header-inner-3-group-12: inner block (.c-header-inner-3__group-12)header-inner-3-text-6: label text, 5 characters (.c-header-inner-3__text-6, 3 instances)header-inner-3-group-13: inner block (.c-header-inner-3__group-13, 2 instances)header-inner-3-group-14: inner block (.c-header-inner-3__group-14)header-inner-3-group-15: inner block (.c-header-inner-3__group-15)header-inner-3-group-16: inner block (.c-header-inner-3__group-16)header-inner-3-group-17: inner flex row (.c-header-inner-3__group-17)header-inner-3-group-18: inner block (.c-header-inner-3__group-18)header-inner-3-nav: inner flex row (.c-header-inner-3__nav)header-inner-3-group-19: inner flex row (.c-header-inner-3__group-19)header-inner-3-cta: the button-secondary button, 13-character label (.c-header-inner-3__cta)header-inner-3-group-20: inner block (.c-header-inner-3__group-20)header-inner-3-menu-toggle: button (.c-header-inner-3__menu-toggle, 2 instances)header-inner-3-group-21: inner flex row (.c-header-inner-3__group-21, 2 instances)header-inner-3-icon: icon placeholder, 24px (.c-header-inner-3__icon)header-inner-3-group-22: inner block (.c-header-inner-3__group-22)header-inner-3-icon-2: icon placeholder, 16px (.c-header-inner-3__icon-2)Recipe
<div class="c-header-inner-3-scope">
<header class="c-header-inner-3">
<a class="c-header-inner-3__logo" href="#">
<span class="c-header-inner-3__logo-icon" aria-hidden="true"></span>
</a>
<div class="c-header-inner-3__group">
<div class="c-header-inner-3__group-2">
<div class="c-header-inner-3__group-3">
<div class="c-header-inner-3__group-4">
<div class="c-header-inner-3__group-5">
<a class="c-header-inner-3__link" href="#">
<span class="c-header-inner-3__group-6">
<span class="c-header-inner-3__group-7"></span>
</span>
<span class="c-header-inner-3__text">lor</span>
<span class="c-header-inner-3__text-2">lor</span>
</a>
<a class="c-header-inner-3__link-2" href="#">
<span class="c-header-inner-3__group-6">
<span class="c-header-inner-3__group-7"></span>
</span>
<span class="c-header-inner-3__text-3">lorem</span>
<span class="c-header-inner-3__text-2">lorem</span>
</a>
<a class="c-header-inner-3__link-3" href="#">
<span class="c-header-inner-3__group-6">
<span class="c-header-inner-3__group-7"></span>
</span>
<span class="c-header-inner-3__text-4">lorem ipsum</span>
<span class="c-header-inner-3__text-2">lorem ipsum</span>
</a>
<a class="c-header-inner-3__link-4" href="#">
<span class="c-header-inner-3__group-6">
<span class="c-header-inner-3__group-7"></span>
</span>
<span class="c-header-inner-3__text-5">lorem ip</span>
<span class="c-header-inner-3__text-2">lorem ip</span>
</a>
</div>
</div>
<div class="c-header-inner-3__inner">
<div class="c-header-inner-3__group-8">
<div class="c-header-inner-3__group-9"></div>
</div>
<div class="c-header-inner-3__group-10">
<div class="c-header-inner-3__group-11">
<div class="c-header-inner-3__group-12">
<div class="c-header-inner-3__text-6">lorem</div>
<div class="c-header-inner-3__group-3"></div>
</div>
</div>
<div class="c-header-inner-3__group-13"></div>
<div class="c-header-inner-3__group-11">
<div class="c-header-inner-3__group-14">
<div class="c-header-inner-3__text-6">lore</div>
<div class="c-header-inner-3__group-3"></div>
</div>
</div>
<div class="c-header-inner-3__group-13"></div>
<div class="c-header-inner-3__group-11">
<div class="c-header-inner-3__group-15">
<div class="c-header-inner-3__text-6">lor</div>
<div class="c-header-inner-3__group-3"></div>
</div>
</div>
</div>
<div class="c-header-inner-3__group-16">
<div class="c-header-inner-3__group-17">
<div class="c-header-inner-3__group-3"></div>
</div>
</div>
</div>
</div>
</div>
<div class="c-header-inner-3__group-18"></div>
</div>
<nav class="c-header-inner-3__nav">
<div class="c-header-inner-3__group-19">
<button class="c-header-inner-3__cta" type="button">lorem ipsum d</button>
<div class="c-header-inner-3__group-20">
<button class="c-header-inner-3__menu-toggle" type="button">
<span class="c-header-inner-3__group-21">
<span class="c-header-inner-3__icon" aria-hidden="true"></span>
</span>
</button>
</div>
</div>
<div class="c-header-inner-3__group-3">
<div class="c-header-inner-3__group-22">
<button class="c-header-inner-3__menu-toggle" type="button">
<span class="c-header-inner-3__group-21">
<span class="c-header-inner-3__icon-2" aria-hidden="true"></span>
</span>
</button>
</div>
</div>
</nav>
</header>
</div>
.c-header-inner-3-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-header-inner-3 {
display: flex;
justify-content: space-between;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
height: 96px;
max-width: 1920px;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
padding-right: 48px;
padding-left: 48px;
}
.c-header-inner-3__logo {
display: inline-flex;
align-items: center;
box-sizing: border-box;
height: 80px;
position: relative;
z-index: 1;
vertical-align: middle;
color: #FF385C;
cursor: pointer;
text-decoration-line: none;
transition: color 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-inner-3__logo::before {
content: "";
display: block;
box-sizing: border-box;
width: 126px;
height: 56px;
position: absolute;
top: 12px;
right: -12px;
bottom: 12px;
left: -12px;
border-radius: 12px;
}
.c-header-inner-3__logo-icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 102px;
height: 32px;
overflow-x: hidden;
overflow-y: hidden;
background-color: currentcolor;
}
.c-header-inner-3__group {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
z-index: 0;
padding-right: 48px;
padding-left: 48px;
}
.c-header-inner-3__group-2 {
display: flex;
flex-direction: column;
align-items: center;
box-sizing: border-box;
width: 100%;
position: relative;
z-index: 1;
margin-top: 8px;
}
.c-header-inner-3__group-3 {
display: block;
box-sizing: border-box;
}
.c-header-inner-3__group-4 {
display: block;
box-sizing: border-box;
width: 500px;
margin: 22px auto 24px;
transition: opacity 0.175s cubic-bezier(0, 0, 1, 1);
}
.c-header-inner-3__group-5 {
display: grid;
justify-content: center;
gap: 35px;
grid-auto-flow: column;
box-sizing: border-box;
position: relative;
margin-top: 8px;
}
.c-header-inner-3__link {
display: flex;
align-items: center;
box-sizing: border-box;
color: #222222;
cursor: pointer;
text-decoration-line: none;
padding-right: 5px;
margin-right: 5px;
margin-bottom: 12px;
}
.c-header-inner-3__group-6 {
display: block;
box-sizing: border-box;
position: relative;
}
.c-header-inner-3__group-7 {
display: block;
box-sizing: border-box;
width: 36px;
height: 36px;
}
.c-header-inner-3__text {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-weight: 500;
line-height: 18px;
white-space: nowrap;
margin-left: 8px;
}
.c-header-inner-3__text-2 {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-header-inner-3__link-2 {
display: flex;
align-items: center;
box-sizing: border-box;
color: #222222;
cursor: pointer;
text-decoration-line: none;
padding-left: 5px;
margin-bottom: 12px;
margin-left: -5px;
}
.c-header-inner-3__text-3 {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-weight: 500;
line-height: 18px;
white-space: nowrap;
margin-left: 16px;
}
.c-header-inner-3__link-3 {
display: flex;
align-items: center;
box-sizing: border-box;
color: #222222;
cursor: pointer;
text-decoration-line: none;
margin-bottom: 12px;
}
.c-header-inner-3__text-4 {
display: block;
box-sizing: border-box;
font-weight: 500;
line-height: 18px;
white-space: nowrap;
margin-left: 8px;
}
.c-header-inner-3__link-4 {
display: flex;
align-items: center;
box-sizing: border-box;
color: #222222;
cursor: pointer;
text-decoration-line: none;
padding-left: 2px;
margin-bottom: 12px;
margin-left: -2px;
}
.c-header-inner-3__text-5 {
display: block;
box-sizing: border-box;
color: #6C6C6C;
font-weight: 500;
line-height: 18px;
white-space: nowrap;
margin-left: 12px;
}
.c-header-inner-3__inner {
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
box-sizing: border-box;
width: 100%;
height: 66px;
max-width: 850px;
position: absolute;
left: 50%;
border-radius: 32px;
transform: matrix(1, 0, 0, 1, -425, 0);
}
.c-header-inner-3__group-8 {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
z-index: -3;
background-color: #FFFFFF;
border-radius: 100px;
}
.c-header-inner-3__group-9 {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
z-index: -3;
border: 1px solid #DDDDDD;
border-radius: 100px;
box-shadow: color(srgb 0 0 0 / 0.02) 0px 0px 0px 1px, color(srgb 0 0 0 / 0.1) 0px 8px 24px 0px;
}
.c-header-inner-3__group-10 {
display: grid;
align-items: center;
gap: 2px;
grid-template-columns: [location] minmax(0px, 2fr) 1px [center-start] minmax(0px, 1fr) 1px minmax(0px, 1fr) [center-end] 1px [last] minmax(0px, 2fr);
box-sizing: border-box;
width: 100%;
height: 100%;
border-radius: 32px;
}
.c-header-inner-3__group-11 {
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
width: 100%;
height: 100%;
position: relative;
border-radius: 32px;
cursor: pointer;
}
.c-header-inner-3__group-11::before {
content: "";
display: block;
box-sizing: border-box;
width: 286px;
height: 32px;
position: absolute;
top: 33px;
right: -4px;
bottom: 1px;
left: -4px;
z-index: -1;
transform: matrix(1, 0, 0, 1, 0, -16);
}
.c-header-inner-3__group-11::after {
content: "";
display: block;
box-sizing: border-box;
width: 348px;
height: 66px;
position: absolute;
top: 0px;
right: -70px;
bottom: 0px;
left: 0px;
z-index: -1;
border-radius: 32px;
}
.c-header-inner-3__group-12 {
display: block;
box-sizing: border-box;
width: 100%;
padding: 15px 32px;
position: relative;
z-index: 2;
overflow-x: clip;
overflow-y: clip;
}
.c-header-inner-3__text-6 {
display: block;
box-sizing: border-box;
overflow-x: clip;
overflow-y: clip;
font-size: 12px;
font-weight: 500;
line-height: 16px;
white-space: nowrap;
text-overflow: ellipsis;
padding-bottom: 2px;
}
.c-header-inner-3__group-13 {
display: block;
box-sizing: border-box;
width: 1px;
height: 32px;
background-color: #DDDDDD;
}
.c-header-inner-3__group-14 {
display: block;
box-sizing: border-box;
width: 100%;
padding: 15px 24px;
position: relative;
z-index: 2;
overflow-x: clip;
overflow-y: clip;
}
.c-header-inner-3__group-15 {
display: block;
box-sizing: border-box;
width: 100%;
padding: 15px 130.904px 15px 24px;
position: relative;
z-index: 2;
overflow-x: clip;
overflow-y: clip;
}
.c-header-inner-3__group-16 {
display: block;
box-sizing: border-box;
padding: 10px;
position: absolute;
right: 0px;
z-index: 2;
}
.c-header-inner-3__group-17 {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 48px;
height: 48px;
padding: 10px;
background-color: #DA1249;
color: #FFFFFF;
border-radius: 50px;
cursor: pointer;
}
.c-header-inner-3__group-18 {
display: block;
box-sizing: border-box;
width: 100%;
height: 96px;
position: absolute;
top: 0px;
left: 0px;
background-image: linear-gradient(in srgb, #FFFFFF 39.9%, color(srgb 0.972471 0.972471 0.972471) 100%);
transform: matrix(1, 0, 0, 2.08, 0, 0);
transition: transform 0.451754s linear(0 0%, 0.185572 10%, 0.465306 20%, 0.682334 30%, 0.822325 40%, 0.904974 50%, 0.951289 60%, 0.976364 70%, 0.989612 80%, 0.996485 90%, 1 100%);
}
.c-header-inner-3__group-18::after {
content: "";
display: block;
box-sizing: border-box;
width: 1425px;
height: 2px;
position: absolute;
top: 96px;
right: 0px;
bottom: -2px;
left: 0px;
background-color: #EBEBEB;
transform: matrix(1, 0, 0, 0.48, 0, 0);
transition: transform 0.451754s linear(0 0%, 0.185572 10%, 0.465306 20%, 0.682334 30%, 0.822325 40%, 0.904974 50%, 0.951289 60%, 0.976364 70%, 0.989612 80%, 0.996485 90%, 1 100%);
}
.c-header-inner-3__nav {
display: flex;
justify-content: flex-end;
align-items: center;
box-sizing: border-box;
height: 80px;
position: relative;
}
.c-header-inner-3__group-19 {
display: flex;
justify-content: flex-end;
align-items: center;
flex-grow: 1;
gap: 12px;
box-sizing: border-box;
margin-right: 12px;
}
.c-header-inner-3__cta {
display: block;
box-sizing: border-box;
padding: 11px 12px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 20px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-header-inner-3__group-20 {
display: block;
box-sizing: border-box;
position: relative;
vertical-align: middle;
margin-top: auto;
margin-bottom: auto;
}
.c-header-inner-3__menu-toggle {
display: inline-flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-inner-3__menu-toggle::before {
content: "";
display: block;
box-sizing: border-box;
width: 40px;
height: 40px;
position: absolute;
top: 20px;
right: -20px;
bottom: -20px;
left: 20px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -20, -20);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-header-inner-3__group-21 {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-header-inner-3__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 24px;
height: 24px;
background-color: currentcolor;
}
.c-header-inner-3__group-22 {
display: inline;
box-sizing: border-box;
position: relative;
}
.c-header-inner-3__icon-2 {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
background-color: currentcolor;
}
.c-header-inner-3__logo:focus {
outline: none;
}
.c-header-inner-3__logo:focus::before {
box-shadow: #222222 0px 0px 0px 2px;
}
.c-header-inner-3__link:focus {
border-radius: 8px;
outline: 2px solid #222222;
outline-offset: 4px;
}
.c-header-inner-3__link-2:focus {
border-radius: 8px;
outline: 2px solid #222222;
outline-offset: 4px;
}
.c-header-inner-3__link-3:focus {
border-radius: 8px;
outline: 2px solid #222222;
outline-offset: 4px;
}
.c-header-inner-3__link-4:focus {
border-radius: 8px;
outline: 2px solid #222222;
outline-offset: 4px;
}
.c-header-inner-3__cta:hover {
background-color: #F7F7F7;
}
.c-header-inner-3__cta:focus {
box-shadow: #222222 0px 0px 0px 2px;
outline: none;
}
.c-header-inner-3__menu-toggle:hover::before {
background-color: #EBEBEB;
}
.c-header-inner-3__menu-toggle:focus {
outline: none;
}
.c-header-inner-3__menu-toggle:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
header-inner-3-logo focus: outline none, ::before box-shadow #222222 0px 0px 0px 2pxheader-inner-3-link focus (header-inner-3-link-focus): border-radius 8px, outline 2px solid #222222, outline-offset 4pxheader-inner-3-link-2 focus (header-inner-3-link-2-focus): border-radius 8px, outline 2px solid #222222, outline-offset 4pxheader-inner-3-link-3 focus (header-inner-3-link-3-focus): border-radius 8px, outline 2px solid #222222, outline-offset 4pxheader-inner-3-link-4 focus (header-inner-3-link-4-focus): border-radius 8px, outline 2px solid #222222, outline-offset 4pxheader-inner-3-cta hover (header-inner-3-cta-hover): background-color #F7F7F7header-inner-3-cta focus: box-shadow #222222 0px 0px 0px 2px, outline noneheader-inner-3-menu-toggle hover: ::before background-color #EBEBEBheader-inner-3-menu-toggle focus: outline none, ::before box-shadow #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4pxFooter (landing)
Verification: flagged, the original element could not be found again.
Variant observed on https://www.airbnb.com/.
Anatomy
footer-landing: the component root, a <footer> (.c-footer-landing)footer-landing-inner: inner block (.c-footer-landing__inner)footer-landing-group: inner group (.c-footer-landing__group)footer-landing-heading: heading, 11 characters (.c-footer-landing__heading)footer-landing-columns: inner grid (.c-footer-landing__columns)footer-landing-column: inner group (.c-footer-landing__column, 3 instances)footer-landing-column-heading: heading, 7 characters (.c-footer-landing__column-heading, 3 instances)footer-landing-list: inner grid (.c-footer-landing__list, 3 instances)footer-landing-item: inner group (.c-footer-landing__item, 27 instances), content not capturedfooter-landing-link: link, 11-character label (.c-footer-landing__link, 26 instances)footer-landing-group-2: inner block (.c-footer-landing__group-2)footer-landing-text: label text, 14 characters (.c-footer-landing__text)footer-landing-columns-2: inner flex row (.c-footer-landing__columns-2)footer-landing-group-3: inner block (.c-footer-landing__group-3)footer-landing-group-4: inner block (.c-footer-landing__group-4)footer-landing-text-2: label text, 19 characters (.c-footer-landing__text-2)footer-landing-group-5: inner block (.c-footer-landing__group-5)footer-landing-group-6: inner group (.c-footer-landing__group-6), content not capturedfooter-landing-group-7: inner group (.c-footer-landing__group-7), content not capturedfooter-landing-columns-3: inner flex row (.c-footer-landing__columns-3, 2 instances)footer-landing-group-8: inner block (.c-footer-landing__group-8)footer-landing-group-9: inner group (.c-footer-landing__group-9), content not capturedfooter-landing-group-10: inner group (.c-footer-landing__group-10), content not capturedfooter-landing-group-11: inner flex row (.c-footer-landing__group-11)footer-landing-list-2: inner flex row (.c-footer-landing__list-2)footer-landing-item-2: inner group (.c-footer-landing__item-2, 2 instances), content not capturedRecipe
<div class="c-footer-landing-scope">
<footer class="c-footer-landing">
<div class="c-footer-landing__inner">
<span class="c-footer-landing__group">
<h2 class="c-footer-landing__heading">lorem ipsum</h2>
</span>
<div class="c-footer-landing__columns">
<section class="c-footer-landing__column">
<h3 class="c-footer-landing__column-heading">lorem i</h3>
<ul class="c-footer-landing__list">
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor sit amet c</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ip</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolo</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor si</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor sit amet</a>
</li>
</ul>
</section>
<section class="c-footer-landing__column">
<h3 class="c-footer-landing__column-heading">lorem i</h3>
<ul class="c-footer-landing__list">
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolo</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor sit</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dol</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor sit amet</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor sit ame</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum do</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum</a>
</li>
</ul>
</section>
<section class="c-footer-landing__column">
<h3 class="c-footer-landing__column-heading">lorem</h3>
<ul class="c-footer-landing__list">
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ip</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem i</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ips</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsu</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link" href="#">lorem ipsum dolor sit amet</a>
</li>
</ul>
</section>
</div>
<div class="c-footer-landing__group-2">
<span class="c-footer-landing__text">lorem ipsum do</span>
<div class="c-footer-landing__columns-2">
<div class="c-footer-landing__group-3">
<div class="c-footer-landing__group-4">
<div class="c-footer-landing__text-2">lorem ipsum dolor s</div>
<div class="c-footer-landing__group-5">
<span class="c-footer-landing__group-6"></span>
<span class="c-footer-landing__group-7"></span>
</div>
</div>
</div>
<div class="c-footer-landing__columns-3">
<div class="c-footer-landing__group-8">
<div class="c-footer-landing__columns-3">
<span class="c-footer-landing__group-9"></span>
<span class="c-footer-landing__group-10"></span>
</div>
</div>
<div class="c-footer-landing__group-11">
<ul class="c-footer-landing__list-2">
<li class="c-footer-landing__item-2"></li>
<li class="c-footer-landing__item-2"></li>
<li class="c-footer-landing__item"></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</footer>
</div>
.c-footer-landing-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-footer-landing {
display: block;
border-spacing: 0px;
box-sizing: border-box;
position: relative;
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
padding-bottom: 80px;
}
.c-footer-landing__inner {
display: block;
box-sizing: border-box;
max-width: 1920px;
padding-right: 48px;
padding-left: 48px;
margin-right: auto;
margin-left: auto;
}
.c-footer-landing__group {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-footer-landing__heading {
display: block;
box-sizing: border-box;
margin: 0px 0px 15px;
font-size: 21px;
font-weight: 700;
line-height: 30.03px;
}
.c-footer-landing__columns {
display: grid;
column-gap: 16px;
grid-template-columns: repeat(12, minmax(0px, 1fr));
box-sizing: border-box;
width: 100%;
padding-top: 48px;
padding-bottom: 48px;
}
.c-footer-landing__column {
display: block;
box-sizing: border-box;
}
.c-footer-landing__column-heading {
display: block;
box-sizing: border-box;
margin: 0px 0px 16px;
font-size: 14px;
font-weight: 500;
line-height: 18px;
}
.c-footer-landing__list {
display: grid;
gap: 16px;
box-sizing: border-box;
padding: 0px;
margin: 0px;
list-style-type: none;
}
.c-footer-landing__item {
display: list-item;
box-sizing: border-box;
}
.c-footer-landing__link {
display: inline;
box-sizing: border-box;
position: relative;
color: #222222;
border-radius: 4px;
cursor: pointer;
line-height: 18px;
text-decoration-line: none;
transition-duration: 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: text-decoration-thickness, box-shadow, background-color;
}
.c-footer-landing__group-2 {
display: block;
box-sizing: border-box;
padding-top: 24px;
padding-bottom: 24px;
border-top-width: 1px;
border-top-style: solid;
border-top-color: #EBEBEB;
}
.c-footer-landing__text {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-footer-landing__columns-2 {
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
}
.c-footer-landing__group-3 {
display: block;
box-sizing: border-box;
text-align: left;
}
.c-footer-landing__group-4 {
display: block;
box-sizing: border-box;
padding: 4px;
margin: -4px;
overflow-x: hidden;
overflow-y: hidden;
}
.c-footer-landing__text-2 {
display: inline-block;
box-sizing: border-box;
line-height: 18px;
}
.c-footer-landing__group-5 {
display: inline-block;
box-sizing: border-box;
}
.c-footer-landing__group-6 {
display: inline-block;
box-sizing: border-box;
}
.c-footer-landing__group-7 {
display: inline-block;
box-sizing: border-box;
line-height: 18px;
}
.c-footer-landing__columns-3 {
display: flex;
box-sizing: border-box;
}
.c-footer-landing__group-8 {
display: block;
box-sizing: border-box;
margin-left: -8px;
}
.c-footer-landing__group-9 {
display: block;
box-sizing: border-box;
margin-right: 4px;
}
.c-footer-landing__group-10 {
display: block;
box-sizing: border-box;
}
.c-footer-landing__group-11 {
display: flex;
align-items: center;
box-sizing: border-box;
margin-left: 4px;
}
.c-footer-landing__list-2 {
display: flex;
gap: 20px;
box-sizing: border-box;
padding: 0px;
margin: 0px 0px 0px 8px;
line-height: 0px;
list-style-type: none;
}
.c-footer-landing__item-2 {
display: list-item;
box-sizing: border-box;
margin-right: 4px;
}
.c-footer-landing__link:hover {
text-decoration-line: underline;
}
.c-footer-landing__link:focus {
background-color: #3F3F3F;
color: #FFFFFF;
box-shadow: #3F3F3F 0px 0px 0px 2px;
outline: none;
text-decoration-line: underline;
text-decoration-color: #FFFFFF;
}
States
footer-landing-link hover: text-decoration-line underlinefooter-landing-link focus (footer-landing-link-focus): background-color #3F3F3F, color #FFFFFF, box-shadow #3F3F3F 0px 0px 0px 2px, outline none, text-decoration-line underline, text-decoration-color #FFFFFFFooter (inner)
Verification: desktop flagged, the footer-inner height did not reproduce the measured 625px after 2 correction attempts; mobile flagged, the footer-inner-mobile-inner height did not reproduce the measured 1310px after 2 correction attempts.
Variant observed on https://www.airbnb.com/rooms/882493816552038952.
Anatomy
footer-inner: the component root, a <footer> (.c-footer-inner)footer-inner-inner: inner block (.c-footer-inner__inner)footer-inner-group: inner block (.c-footer-inner__group)footer-inner-group-2: inner group (.c-footer-inner__group-2)footer-inner-heading: heading, 11 characters (.c-footer-inner__heading)footer-inner-columns: inner grid (.c-footer-inner__columns)footer-inner-column: inner group (.c-footer-inner__column, 3 instances)footer-inner-column-heading: heading, 7 characters (.c-footer-inner__column-heading, 3 instances)footer-inner-list: inner grid (.c-footer-inner__list, 3 instances)footer-inner-item: inner group (.c-footer-inner__item, 26 instances)footer-inner-link: link, 11-character label (.c-footer-inner__link, 26 instances)footer-inner-group-3: inner block (.c-footer-inner__group-3)footer-inner-text: label text, 14 characters (.c-footer-inner__text)footer-inner-group-4: inner group (.c-footer-inner__group-4)footer-inner-columns-2: inner flex row (.c-footer-inner__columns-2)footer-inner-group-5: inner block (.c-footer-inner__group-5)footer-inner-group-6: inner block (.c-footer-inner__group-6)footer-inner-text-2: label text, 19 characters (.c-footer-inner__text-2)footer-inner-group-7: inner block (.c-footer-inner__group-7), content not capturedfooter-inner-columns-3: inner flex row (.c-footer-inner__columns-3)footer-inner-group-8: inner block (.c-footer-inner__group-8)footer-inner-group-9: inner flex row (.c-footer-inner__group-9), content not capturedfooter-inner-group-10: inner flex row (.c-footer-inner__group-10)footer-inner-list-2: inner flex row (.c-footer-inner__list-2), content not capturedDesktop recipe
<div class="c-footer-inner-scope">
<footer class="c-footer-inner">
<div class="c-footer-inner__inner">
<div class="c-footer-inner__group">
<span class="c-footer-inner__group-2">
<h2 class="c-footer-inner__heading">lorem ipsum</h2>
</span>
<div class="c-footer-inner__columns">
<section class="c-footer-inner__column">
<h3 class="c-footer-inner__column-heading">lorem i</h3>
<ul class="c-footer-inner__list">
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor sit amet c</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ip</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolo</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor si</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor sit amet</a>
</li>
</ul>
</section>
<section class="c-footer-inner__column">
<h3 class="c-footer-inner__column-heading">lorem i</h3>
<ul class="c-footer-inner__list">
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolo</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor sit</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dol</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor sit amet</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor sit ame</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum do</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum</a>
</li>
</ul>
</section>
<section class="c-footer-inner__column">
<h3 class="c-footer-inner__column-heading">lorem</h3>
<ul class="c-footer-inner__list">
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ip</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem i</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ips</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsu</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor sit amet</a>
</li>
</ul>
</section>
</div>
<div class="c-footer-inner__group-3">
<span class="c-footer-inner__text">lorem ipsum do</span>
<section class="c-footer-inner__group-4">
<div class="c-footer-inner__columns-2">
<div class="c-footer-inner__group-5">
<div class="c-footer-inner__group-6">
<div class="c-footer-inner__text-2">lorem ipsum dolor s</div>
<div class="c-footer-inner__group-7"></div>
</div>
</div>
<div class="c-footer-inner__columns-3">
<div class="c-footer-inner__group-8">
<div class="c-footer-inner__group-9"></div>
</div>
<div class="c-footer-inner__group-10">
<ul class="c-footer-inner__list-2"></ul>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</footer>
</div>
.c-footer-inner-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-footer-inner {
display: block;
border-spacing: 0px;
box-sizing: border-box;
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-footer-inner__inner {
display: block;
box-sizing: border-box;
max-width: 1920px;
padding-right: 48px;
padding-left: 48px;
margin-right: auto;
margin-left: auto;
}
.c-footer-inner__group {
display: block;
box-sizing: border-box;
}
.c-footer-inner__group-2 {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-footer-inner__heading {
display: block;
box-sizing: border-box;
margin: 0px 0px 15px;
font-size: 24px;
font-weight: 700;
}
.c-footer-inner__columns {
display: grid;
column-gap: 16px;
grid-template-columns: repeat(12, minmax(0px, 1fr));
box-sizing: border-box;
padding-top: 48px;
padding-bottom: 48px;
}
.c-footer-inner__column {
display: block;
box-sizing: border-box;
}
.c-footer-inner__column-heading {
display: block;
box-sizing: border-box;
margin: 0px 0px 16px;
font-size: 14px;
font-weight: 500;
line-height: 18px;
}
.c-footer-inner__list {
display: grid;
gap: 16px;
box-sizing: border-box;
padding: 0px;
margin: 0px;
list-style-type: none;
}
.c-footer-inner__item {
display: list-item;
box-sizing: border-box;
}
.c-footer-inner__link {
display: inline;
box-sizing: border-box;
position: relative;
color: #222222;
border-radius: 4px;
cursor: pointer;
font-size: 14px;
line-height: 18px;
text-decoration-line: none;
transition-duration: 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: text-decoration-thickness, box-shadow, background-color;
}
.c-footer-inner__group-3 {
display: block;
box-sizing: border-box;
padding-top: 24px;
padding-bottom: 24px;
border-top-width: 1px;
border-top-style: solid;
border-top-color: #EBEBEB;
}
.c-footer-inner__text {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-footer-inner__group-4 {
display: block;
box-sizing: border-box;
}
.c-footer-inner__columns-2 {
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
}
.c-footer-inner__group-5 {
display: block;
box-sizing: border-box;
text-align: left;
}
.c-footer-inner__group-6 {
display: block;
box-sizing: border-box;
padding: 4px;
margin: -4px;
overflow-x: hidden;
overflow-y: hidden;
}
.c-footer-inner__text-2 {
display: inline-block;
box-sizing: border-box;
font-size: 14px;
line-height: 18px;
}
.c-footer-inner__group-7 {
display: inline-block;
box-sizing: border-box;
}
.c-footer-inner__columns-3 {
display: flex;
box-sizing: border-box;
}
.c-footer-inner__group-8 {
display: block;
box-sizing: border-box;
margin-left: -8px;
}
.c-footer-inner__group-9 {
display: flex;
box-sizing: border-box;
}
.c-footer-inner__group-10 {
display: flex;
align-items: center;
box-sizing: border-box;
margin-left: 4px;
}
.c-footer-inner__list-2 {
display: flex;
gap: 20px;
box-sizing: border-box;
padding: 0px;
margin: 0px 0px 0px 8px;
line-height: 0px;
list-style-type: none;
}
.c-footer-inner__link:hover {
text-decoration-line: underline;
}
.c-footer-inner__link:focus {
background-color: #3F3F3F;
color: #FFFFFF;
box-shadow: #3F3F3F 0px 0px 0px 2px;
outline: none;
text-decoration-line: underline;
text-decoration-color: #FFFFFF;
}
Mobile anatomy
footer-inner-mobile: the component root, a <footer> (.c-footer-inner-mobile)footer-inner-mobile-inner: inner block (.c-footer-inner-mobile__inner)footer-inner-mobile-group: inner block (.c-footer-inner-mobile__group, 4 instances), content not capturedfooter-inner-mobile-group-2: inner group (.c-footer-inner-mobile__group-2)footer-inner-mobile-heading: heading, 11 characters (.c-footer-inner-mobile__heading)footer-inner-mobile-columns: inner grid (.c-footer-inner-mobile__columns)footer-inner-mobile-column: inner group (.c-footer-inner-mobile__column)footer-inner-mobile-column-heading: heading, 7 characters (.c-footer-inner-mobile__column-heading)footer-inner-mobile-list: inner grid (.c-footer-inner-mobile__list, 3 instances)footer-inner-mobile-item: inner group (.c-footer-inner-mobile__item, 27 instances), content not capturedfooter-inner-mobile-link: link, 11-character label (.c-footer-inner-mobile__link, 26 instances)footer-inner-mobile-column-2: inner group (.c-footer-inner-mobile__column-2, 2 instances)footer-inner-mobile-heading-2: heading, 7 characters (.c-footer-inner-mobile__heading-2, 2 instances)footer-inner-mobile-group-3: inner block (.c-footer-inner-mobile__group-3)footer-inner-mobile-text: label text, 14 characters (.c-footer-inner-mobile__text)footer-inner-mobile-group-4: inner group (.c-footer-inner-mobile__group-4)footer-inner-mobile-group-5: inner block (.c-footer-inner-mobile__group-5)footer-inner-mobile-columns-2: inner flex row (.c-footer-inner-mobile__columns-2)footer-inner-mobile-group-6: inner group (.c-footer-inner-mobile__group-6), content not capturedfooter-inner-mobile-group-7: inner group (.c-footer-inner-mobile__group-7), content not capturedfooter-inner-mobile-group-8: inner block (.c-footer-inner-mobile__group-8)footer-inner-mobile-list-2: inner flex row (.c-footer-inner-mobile__list-2)footer-inner-mobile-item-2: inner group (.c-footer-inner-mobile__item-2, 2 instances), content not capturedfooter-inner-mobile-text-2: label text, 19 characters (.c-footer-inner-mobile__text-2)Mobile recipe
<div class="c-footer-inner-mobile-scope">
<footer class="c-footer-inner-mobile">
<div class="c-footer-inner-mobile__inner">
<div class="c-footer-inner-mobile__group">
<span class="c-footer-inner-mobile__group-2">
<h2 class="c-footer-inner-mobile__heading">lorem ipsum</h2>
</span>
<div class="c-footer-inner-mobile__columns">
<section class="c-footer-inner-mobile__column">
<h3 class="c-footer-inner-mobile__column-heading">lorem i</h3>
<ul class="c-footer-inner-mobile__list">
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor sit amet c</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ip</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolo</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor si</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor sit amet</a>
</li>
</ul>
</section>
<section class="c-footer-inner-mobile__column-2">
<h3 class="c-footer-inner-mobile__heading-2">lorem i</h3>
<ul class="c-footer-inner-mobile__list">
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolo</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor sit</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dol</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor sit amet</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor sit ame</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum do</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum</a>
</li>
</ul>
</section>
<section class="c-footer-inner-mobile__column-2">
<h3 class="c-footer-inner-mobile__heading-2">lorem</h3>
<ul class="c-footer-inner-mobile__list">
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ip</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem i</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ips</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsu</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor sit amet</a>
</li>
</ul>
</section>
</div>
<div class="c-footer-inner-mobile__group-3">
<span class="c-footer-inner-mobile__text">lorem ipsum do</span>
<section class="c-footer-inner-mobile__group-4">
<div class="c-footer-inner-mobile__group">
<div class="c-footer-inner-mobile__group-5">
<div class="c-footer-inner-mobile__columns-2">
<span class="c-footer-inner-mobile__group-6"></span>
<span class="c-footer-inner-mobile__group-7"></span>
</div>
</div>
<div class="c-footer-inner-mobile__group-8">
<ul class="c-footer-inner-mobile__list-2">
<li class="c-footer-inner-mobile__item-2"></li>
<li class="c-footer-inner-mobile__item-2"></li>
<li class="c-footer-inner-mobile__item"></li>
</ul>
</div>
<div class="c-footer-inner-mobile__group">
<div class="c-footer-inner-mobile__text-2">lorem ipsum dolor s</div>
<div class="c-footer-inner-mobile__group"></div>
</div>
</div>
</section>
</div>
</div>
</div>
</footer>
</div>
.c-footer-inner-mobile-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-footer-inner-mobile {
display: block;
border-spacing: 0px;
box-sizing: border-box;
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-footer-inner-mobile__inner {
display: block;
box-sizing: border-box;
max-width: 1920px;
padding-right: 24px;
padding-left: 24px;
margin-right: auto;
margin-left: auto;
}
.c-footer-inner-mobile__group {
display: block;
box-sizing: border-box;
}
.c-footer-inner-mobile__group-2 {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-footer-inner-mobile__heading {
display: block;
box-sizing: border-box;
margin: 0px 0px 15px;
font-size: 24px;
font-weight: 700;
}
.c-footer-inner-mobile__columns {
display: grid;
column-gap: 16px;
grid-template-columns: repeat(4, minmax(0px, 1fr));
box-sizing: border-box;
}
.c-footer-inner-mobile__column {
display: block;
box-sizing: border-box;
padding-top: 24px;
padding-bottom: 24px;
}
.c-footer-inner-mobile__column-heading {
display: block;
box-sizing: border-box;
margin: 0px 0px 16px;
font-size: 14px;
font-weight: 500;
line-height: 18px;
}
.c-footer-inner-mobile__list {
display: grid;
gap: 16px;
box-sizing: border-box;
padding: 0px;
margin: 0px;
list-style-type: none;
}
.c-footer-inner-mobile__item {
display: list-item;
box-sizing: border-box;
}
.c-footer-inner-mobile__link {
display: inline;
box-sizing: border-box;
position: relative;
color: #222222;
border-radius: 4px;
cursor: pointer;
font-size: 14px;
line-height: 18px;
text-decoration-line: none;
transition-duration: 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: text-decoration-thickness, box-shadow, background-color;
}
.c-footer-inner-mobile__column-2 {
display: block;
box-sizing: border-box;
padding-top: 24px;
padding-bottom: 24px;
border-top-width: 1px;
border-top-style: solid;
border-top-color: #DDDDDD;
}
.c-footer-inner-mobile__heading-2 {
display: block;
box-sizing: border-box;
margin: 0px 0px 16px;
font-size: 14px;
font-weight: 500;
line-height: 18px;
}
.c-footer-inner-mobile__group-3 {
display: block;
box-sizing: border-box;
padding-top: 24px;
padding-bottom: 24px;
border-top-width: 1px;
border-top-style: solid;
border-top-color: #EBEBEB;
}
.c-footer-inner-mobile__text {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-footer-inner-mobile__group-4 {
display: block;
box-sizing: border-box;
}
.c-footer-inner-mobile__group-5 {
display: block;
box-sizing: border-box;
margin-bottom: 8px;
margin-left: -8px;
}
.c-footer-inner-mobile__columns-2 {
display: flex;
box-sizing: border-box;
}
.c-footer-inner-mobile__group-6 {
display: block;
box-sizing: border-box;
margin-right: 4px;
}
.c-footer-inner-mobile__group-7 {
display: block;
box-sizing: border-box;
}
.c-footer-inner-mobile__group-8 {
display: block;
box-sizing: border-box;
padding-top: 8px;
padding-bottom: 8px;
margin-bottom: 12px;
margin-left: -8px;
}
.c-footer-inner-mobile__list-2 {
display: flex;
gap: 20px;
box-sizing: border-box;
padding: 0px;
margin: 0px 0px 0px 8px;
line-height: 0px;
list-style-type: none;
}
.c-footer-inner-mobile__item-2 {
display: list-item;
box-sizing: border-box;
margin-right: 4px;
}
.c-footer-inner-mobile__text-2 {
display: inline-block;
box-sizing: border-box;
font-size: 14px;
line-height: 18px;
margin-bottom: 4px;
}
.c-footer-inner-mobile__link:hover {
text-decoration-line: underline;
}
.c-footer-inner-mobile__link:focus {
background-color: #3F3F3F;
color: #FFFFFF;
box-shadow: #3F3F3F 0px 0px 0px 2px;
outline: none;
text-decoration-line: underline;
text-decoration-color: #FFFFFF;
}
States
footer-inner-link hover: text-decoration-line underlinefooter-inner-link focus (footer-inner-link-focus): background-color #3F3F3F, color #FFFFFF, box-shadow #3F3F3F 0px 0px 0px 2px, outline none, text-decoration-line underline, text-decoration-color #FFFFFFfooter-inner-mobile-link hover: text-decoration-line underlinefooter-inner-mobile-link focus (footer-inner-mobile-link-focus): background-color #3F3F3F, color #FFFFFF, box-shadow #3F3F3F 0px 0px 0px 2px, outline none, text-decoration-line underline, text-decoration-color #FFFFFFInput (2)
Verification: verified against the live page at desktop.
Anatomy
input-2: the component root, a <input> (.c-input-2), 19-character placeholderRecipe
<div class="c-input-2-scope">
<input class="c-input-2" type="search" placeholder="lorem ipsum dolor s">
</div>
.c-input-2-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-input-2 {
display: block;
border-spacing: 0px;
box-sizing: border-box;
width: 214px;
height: 18px;
padding: 0px;
overflow-x: clip;
overflow-y: clip;
background-color: transparent;
color: #222222;
border: 0;
cursor: text;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: start;
white-space: nowrap;
text-overflow: ellipsis;
}
.c-input-2:focus {
outline: none;
}
States
Input (4)
Verification: flagged, the render matched 94% of the original pixels, below the 97% required on focus after 2 correction attempts.
Anatomy
input-4: the component root, a <button> (.c-input-4)input-4-label: label text, 8 characters (.c-input-4__label)input-4-group: inner block (.c-input-4__group)input-4-image: image placeholder, 48px (.c-input-4__image)input-4-label-2: label text, 8 characters (.c-input-4__label-2)Recipe
<div class="c-input-4-scope">
<button class="c-input-4" type="button">
<span class="c-input-4__label">lorem ip</span>
<div class="c-input-4__group">
<span class="c-input-4__image" aria-hidden="true"></span>
</div>
<div class="c-input-4__label-2">lorem ip</div>
</button>
</div>
.c-input-4-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-input-4 {
display: inline-flex;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
height: 48px;
padding: 0px;
position: relative;
z-index: 1;
background-color: transparent;
color: #222222;
border: 1px solid transparent;
border-radius: 40px 4px 4px 40px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: start;
}
.c-input-4__label {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-input-4__group {
display: block;
box-sizing: border-box;
height: 48px;
}
.c-input-4__image {
display: inline-block;
flex-shrink: 0;
box-sizing: border-box;
width: 48px;
height: 48px;
overflow-x: clip;
overflow-y: clip;
background-color: currentcolor;
margin-left: 8px;
}
.c-input-4__label-2 {
display: block;
flex-grow: 1;
box-sizing: border-box;
overflow-x: hidden;
overflow-y: hidden;
font-size: 14px;
font-weight: 500;
line-height: 22px;
white-space: nowrap;
text-overflow: ellipsis;
transition: opacity 0.15s cubic-bezier(0, 0, 1, 1);
padding-right: 16px;
}
.c-input-4:focus {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
outline: none;
}
States
Input (5)
Verification: flagged, the render matched 94% of the original pixels, below the 97% required on focus after 2 correction attempts.
Anatomy
input-5: the component root, a <button> (.c-input-5)input-5-label: label text, 20 characters (.c-input-5__label)input-5-label-2: label text, 7 characters (.c-input-5__label-2)Recipe
<div class="c-input-5-scope">
<button class="c-input-5" type="button">
<span class="c-input-5__label">lorem ipsum dolor si</span>
<div class="c-input-5__label-2">lorem i</div>
</button>
</div>
.c-input-5-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-input-5 {
display: inline-flex;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
height: 48px;
padding: 0px;
position: relative;
z-index: 1;
background-color: transparent;
color: #222222;
border: 1px solid transparent;
border-radius: 4px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: start;
}
.c-input-5__label {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-input-5__label-2 {
display: block;
flex-grow: 1;
box-sizing: border-box;
overflow-x: hidden;
overflow-y: hidden;
font-size: 14px;
font-weight: 500;
line-height: 22px;
white-space: nowrap;
text-overflow: ellipsis;
transition: opacity 0.15s cubic-bezier(0, 0, 1, 1);
padding-right: 16px;
padding-left: 16px;
}
.c-input-5:focus {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
outline: none;
}
States
Input (6)
Verification: flagged, the render matched 97% of the original pixels, below the 97% required on focus after 2 correction attempts.
Anatomy
input-6: the component root, a <button> (.c-input-6)input-6-label: label text, 6 characters (.c-input-6__label)input-6-group: inner block (.c-input-6__group)input-6-label-2: label text, 10 characters (.c-input-6__label-2)Recipe
<div class="c-input-6-scope">
<button class="c-input-6" type="button">
<span class="c-input-6__label">lorem</span>
<div class="c-input-6__group"></div>
<div class="c-input-6__label-2">lorem ipsu</div>
</button>
</div>
.c-input-6-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-input-6 {
display: inline-flex;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
height: 48px;
padding: 0px;
position: relative;
z-index: 1;
background-color: transparent;
color: #222222;
border: 1px solid transparent;
border-radius: 4px 40px 40px 4px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: start;
}
.c-input-6__label {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-input-6__group {
display: block;
box-sizing: border-box;
height: 48px;
}
.c-input-6__label-2 {
display: block;
flex-grow: 1;
box-sizing: border-box;
overflow-x: hidden;
overflow-y: hidden;
font-size: 14px;
font-weight: 500;
line-height: 22px;
white-space: nowrap;
text-overflow: ellipsis;
transition: opacity 0.15s cubic-bezier(0, 0, 1, 1);
padding-right: 16px;
padding-left: 16px;
}
.c-input-6:focus {
outline: none;
}
.c-input-6:focus::after {
content: "";
display: block;
box-sizing: border-box;
width: 147px;
height: 46px;
position: absolute;
top: 0px;
right: -40px;
bottom: 0px;
left: 0px;
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
border-top-right-radius: 40px;
border-bottom-right-radius: 40px;
}
States
Verification: flagged, the render came out 4 px narrower than the original (instance 1) after 2 correction attempts.
Anatomy
carousel-section: the component root, a <div> (.c-carousel-section)Recipe
<div class="c-carousel-section-scope">
<div class="c-carousel-section"></div>
</div>
.c-carousel-section-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-carousel-section {
display: block;
border-spacing: 0px;
box-sizing: border-box;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-carousel-section::before {
content: "";
display: flex;
box-sizing: border-box;
}
.c-carousel-section::after {
content: "";
display: flex;
box-sizing: border-box;
}
States
Search field (3)
Verification: flagged, the render matched 93% of the original pixels, below the 96% required on focus after 2 correction attempts.
Anatomy
search-field-3: the component root, a <div> (.c-search-field-3)search-field-3-group: inner block (.c-search-field-3__group)search-field-3-text: label text, 4 characters (.c-search-field-3__text)search-field-3-text-2: label text, 9 characters (.c-search-field-3__text-2)Recipe
<div class="c-search-field-3-scope">
<div class="c-search-field-3">
<div class="c-search-field-3__group">
<div class="c-search-field-3__text">lore</div>
<div class="c-search-field-3__text-2">lorem ips</div>
</div>
</div>
</div>
.c-search-field-3-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-search-field-3 {
display: inline-flex;
justify-content: space-between;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
position: relative;
color: #222222;
border-radius: 32px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-search-field-3::before {
content: "";
display: block;
box-sizing: border-box;
width: 291px;
height: 32px;
position: absolute;
top: 33px;
right: -4px;
bottom: 1px;
left: -4px;
z-index: -1;
transform: matrix(1, 0, 0, 1, 0, -16);
}
.c-search-field-3::after {
content: "";
display: block;
box-sizing: border-box;
width: 353px;
height: 66px;
position: absolute;
top: 0px;
right: -70px;
bottom: 0px;
left: 0px;
z-index: -1;
border-radius: 32px;
}
.c-search-field-3__group {
display: block;
box-sizing: border-box;
width: 100%;
padding: 15px 24px;
position: relative;
z-index: 2;
overflow-x: clip;
overflow-y: clip;
}
.c-search-field-3__text {
display: block;
box-sizing: border-box;
overflow-x: clip;
overflow-y: clip;
font-size: 12px;
font-weight: 500;
line-height: 16px;
white-space: nowrap;
text-overflow: ellipsis;
padding-bottom: 2px;
}
.c-search-field-3__text-2 {
display: block;
box-sizing: border-box;
overflow-x: clip;
overflow-y: clip;
color: #6C6C6C;
line-height: 18px;
white-space: nowrap;
text-overflow: ellipsis;
}
.c-search-field-3:hover {
background-color: #EBEBEB;
}
.c-search-field-3:hover::before {
background-color: #FFFFFF;
}
.c-search-field-3:focus {
box-shadow: #222222 0px 0px 0px 2px;
}
States
search-field-3-hover): background-color #EBEBEB, ::before background-color #FFFFFFSearch field (4)
Verification: flagged, the render matched 90% of the original pixels, below the 96% required on hover after 2 correction attempts.
Anatomy
search-field-4: the component root, a <div> (.c-search-field-4)search-field-4-group: inner block (.c-search-field-4__group)search-field-4-text: label text, 15 characters (.c-search-field-4__text)search-field-4-group-2: inner block (.c-search-field-4__group-2)search-field-4-text-2: label text, 11 characters (.c-search-field-4__text-2)Recipe
<div class="c-search-field-4-scope">
<div class="c-search-field-4">
<div class="c-search-field-4__group">
<div class="c-search-field-4__text">lorem ipsum dol</div>
<div class="c-search-field-4__group-2">
<div class="c-search-field-4__text-2">lorem ipsum</div>
</div>
</div>
</div>
</div>
.c-search-field-4-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-search-field-4 {
display: inline-flex;
justify-content: space-between;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
position: relative;
color: #222222;
border-radius: 32px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-search-field-4::before {
content: "";
display: block;
box-sizing: border-box;
width: 286px;
height: 32px;
position: absolute;
top: 33px;
right: -4px;
bottom: 1px;
left: -4px;
z-index: -1;
transform: matrix(1, 0, 0, 1, 0, -16);
}
.c-search-field-4::after {
content: "";
display: block;
box-sizing: border-box;
width: 278px;
height: 66px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
z-index: -1;
border-radius: 32px;
}
.c-search-field-4__group {
display: block;
box-sizing: border-box;
width: 100%;
padding: 15px 130.904px 15px 24px;
position: relative;
z-index: 2;
overflow-x: clip;
overflow-y: clip;
}
.c-search-field-4__text {
display: block;
box-sizing: border-box;
overflow-x: clip;
overflow-y: clip;
font-size: 12px;
font-weight: 500;
line-height: 16px;
white-space: nowrap;
text-overflow: ellipsis;
padding-bottom: 2px;
}
.c-search-field-4__group-2 {
display: block;
box-sizing: border-box;
}
.c-search-field-4__text-2 {
display: block;
box-sizing: border-box;
overflow-x: clip;
overflow-y: clip;
color: #6C6C6C;
line-height: 18px;
white-space: nowrap;
text-overflow: ellipsis;
}
.c-search-field-4:hover {
background-color: #EBEBEB;
}
.c-search-field-4:hover::before {
right: 4px;
background-color: #FFFFFF;
}
.c-search-field-4:hover::after {
left: -70px;
}
.c-search-field-4:focus {
box-shadow: #222222 0px 0px 0px 2px;
}
States
search-field-4-hover): background-color #EBEBEB, ::before right 4px, ::before background-color #FFFFFF, ::after left -70pxTab
Verification: verified against the live page at desktop.
Anatomy
tab-active: the component root, a <button> (.c-tab-active), 7-character labelRecipe
<div class="c-tab-active-scope">
<button class="c-tab-active" type="button">lorem i</button>
</div>
.c-tab-active-scope {
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-tab-active {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px 16px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 8px;
cursor: default;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.1s, 0.1s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0, 0, 1, 1);
transition-property: box-shadow, transform, color;
}
.c-tab-active:focus {
background-color: #F7F7F7;
border-radius: 4px;
box-shadow: #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px;
outline: none;
}
States
tab-active-focus): background-color #F7F7F7, border-radius 4px, box-shadow #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px, outline noneTab
Verification: flagged, the render matched 96% of the original pixels, below the 96% required on focus after 2 correction attempts.
Anatomy
tab: the component root, a <button> (.c-tab), 12-character labelRecipe
<div class="c-tab-scope">
<button class="c-tab" type="button">lorem ipsum</button>
</div>
.c-tab-scope {
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-tab {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px 16px;
position: relative;
background-color: transparent;
color: #6C6C6C;
border: 0;
border-radius: 8px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.1s, 0.1s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0, 0, 1, 1);
transition-property: box-shadow, transform, color;
}
.c-tab:hover {
color: #222222;
}
.c-tab:focus {
background-color: #F7F7F7;
color: #222222;
border-radius: 4px;
box-shadow: #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px;
outline: none;
}
States
tab-hover): color #222222tab-focus): background-color #F7F7F7, color #222222, border-radius 4px, box-shadow #222222 0px 0px 0px 2px, #FFFFFFCC 0px 0px 0px 4px, outline noneFooter setting button
Verification: flagged, the original element could not be found again.
Anatomy
footer-setting-button: the component root, a <button> (.c-footer-setting-button)footer-setting-button-group: inner flex row (.c-footer-setting-button__group)footer-setting-button-icon: icon placeholder, 16px (.c-footer-setting-button__icon)footer-setting-button-text: label text, 12 characters (.c-footer-setting-button__text)Recipe
<div class="c-footer-setting-button-scope">
<button class="c-footer-setting-button" type="button">
<span class="c-footer-setting-button__group">
<span class="c-footer-setting-button__icon" aria-hidden="true"></span>
<span class="c-footer-setting-button__text">lorem ipsum</span>
</span>
</button>
</div>
.c-footer-setting-button-scope {
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-footer-setting-button {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
padding: 6px 8px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 12px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-footer-setting-button__group {
display: inline-flex;
justify-content: center;
align-items: center;
gap: 8px;
box-sizing: border-box;
vertical-align: top;
}
.c-footer-setting-button__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
overflow-x: hidden;
overflow-y: hidden;
background-color: currentcolor;
}
.c-footer-setting-button:hover {
background-color: #EBEBEB;
}
.c-footer-setting-button:focus {
box-shadow: #222222 0px 0px 0px 2px;
outline: none;
}
States
footer-setting-button-hover): background-color #EBEBEBFooter setting button (2)
Verification: flagged, the original element could not be found again.
Anatomy
footer-setting-button-2: the component root, a <button> (.c-footer-setting-button-2)footer-setting-button-2-text: label text, 0 characters (.c-footer-setting-button-2__text)footer-setting-button-2-text-2: label text, 1 characters (.c-footer-setting-button-2__text-2, 2 instances)Recipe
<div class="c-footer-setting-button-2-scope">
<button class="c-footer-setting-button-2" type="button">
<div class="c-footer-setting-button-2__text">
<span class="c-footer-setting-button-2__text-2">l</span>
<span class="c-footer-setting-button-2__text-2">lor</span>
</div>
</button>
</div>
.c-footer-setting-button-2-scope {
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-footer-setting-button-2 {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
padding: 6px 8px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 12px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-footer-setting-button-2__text {
display: flex;
gap: 8px;
box-sizing: border-box;
}
.c-footer-setting-button-2:hover {
background-color: #EBEBEB;
}
.c-footer-setting-button-2:focus {
box-shadow: #222222 0px 0px 0px 2px;
outline: none;
}
States
footer-setting-button-2-hover): background-color #EBEBEBPhoto gallery
Verification: flagged, the photo-gallery-media y did not reproduce the measured 455px after 2 correction attempts.
Anatomy
photo-gallery: the component root, a <button> (.c-photo-gallery)photo-gallery-group: inner block (.c-photo-gallery__group)photo-gallery-media: image placeholder, 560x21px (.c-photo-gallery__media)Recipe
<div class="c-photo-gallery-scope">
<button class="c-photo-gallery" type="button">
<div class="c-photo-gallery__group">
<span class="c-photo-gallery__media" aria-hidden="true"></span>
</div>
</button>
</div>
.c-photo-gallery-scope {
background-color: #2222221A;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-photo-gallery {
display: block;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
letter-spacing: normal;
text-transform: none;
text-decoration-line: underline;
text-decoration-color: #222222;
text-align: left;
}
.c-photo-gallery::after {
content: "";
display: block;
box-sizing: border-box;
width: 560px;
height: 476px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
}
.c-photo-gallery__group {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: relative;
vertical-align: bottom;
}
.c-photo-gallery__media {
display: inline-block;
flex-shrink: 0;
box-sizing: border-box;
width: 560px;
height: 21px;
background-color: currentcolor;
}
.c-photo-gallery:focus {
outline: none;
}
.c-photo-gallery:focus::after {
border: 2px solid #000000;
}
States
Photo gallery (2)
Verification: flagged, the photo-gallery-2-media y did not reproduce the measured 217px after 2 correction attempts.
Anatomy
photo-gallery-2: the component root, a <button> (.c-photo-gallery-2)photo-gallery-2-group: inner block (.c-photo-gallery-2__group)photo-gallery-2-media: image placeholder, 272x21px (.c-photo-gallery-2__media)Recipe
<div class="c-photo-gallery-2-scope">
<button class="c-photo-gallery-2" type="button">
<div class="c-photo-gallery-2__group">
<span class="c-photo-gallery-2__media" aria-hidden="true"></span>
</div>
</button>
</div>
.c-photo-gallery-2-scope {
background-color: #2222221A;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-photo-gallery-2 {
display: block;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
letter-spacing: normal;
text-transform: none;
text-decoration-line: underline;
text-decoration-color: #222222;
text-align: left;
}
.c-photo-gallery-2::after {
content: "";
display: block;
box-sizing: border-box;
width: 272px;
height: 238px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
}
.c-photo-gallery-2__group {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
position: relative;
vertical-align: bottom;
}
.c-photo-gallery-2__media {
display: inline-block;
flex-shrink: 0;
box-sizing: border-box;
width: 272px;
height: 21px;
background-color: currentcolor;
}
.c-photo-gallery-2:focus {
outline: none;
}
.c-photo-gallery-2:focus::after {
border: 2px solid #000000;
}
States
Calendar
Verification: flagged, the calendar-row height did not reproduce the measured 42px after 2 correction attempts.
Anatomy
calendar: the component root, a <table> (.c-calendar)calendar-body: inner group (.c-calendar__body), content not capturedcalendar-row: inner group (.c-calendar__row, 3 instances), content not capturedcalendar-cell: inner group (.c-calendar__cell, 2 instances)calendar-cell-2: inner group (.c-calendar__cell-2, 11 instances)calendar-text: label text, 1 characters (.c-calendar__text, 10 instances)calendar-cell-3: inner group (.c-calendar__cell-3)calendar-text-2: label text, 1 characters (.c-calendar__text-2, 2 instances)calendar-cell-4: inner group (.c-calendar__cell-4)calendar-text-3: label text, 1 characters (.c-calendar__text-3)calendar-text-4: label text, 28 characters (.c-calendar__text-4)calendar-cell-5: inner group (.c-calendar__cell-5)calendar-text-5: label text, 2 characters (.c-calendar__text-5, 2 instances)calendar-cell-6: inner group (.c-calendar__cell-6)calendar-text-6: label text, 2 characters (.c-calendar__text-6)calendar-cell-7: inner group (.c-calendar__cell-7)Recipe
<div class="c-calendar-scope">
<table class="c-calendar">
<tbody class="c-calendar__body">
<tr class="c-calendar__row">
<td class="c-calendar__cell"></td>
<td class="c-calendar__cell"></td>
<td class="c-calendar__cell-2">
<div class="c-calendar__text">l</div>
</td>
<td class="c-calendar__cell-2">
<div class="c-calendar__text">l</div>
</td>
<td class="c-calendar__cell-2">
<div class="c-calendar__text">l</div>
</td>
<td class="c-calendar__cell-3">
<div class="c-calendar__text-2">l</div>
</td>
<td class="c-calendar__cell-4">
<div class="c-calendar__text-3">l</div>
<span class="c-calendar__text-4">lorem ipsum dolor sit amet c</span>
</td>
</tr>
<tr class="c-calendar__row">
<td class="c-calendar__cell-5">
<div class="c-calendar__text-2">l</div>
</td>
<td class="c-calendar__cell-2">
<div class="c-calendar__text">l</div>
</td>
<td class="c-calendar__cell-2">
<div class="c-calendar__text">l</div>
</td>
<td class="c-calendar__cell-2">
<div class="c-calendar__text">l</div>
</td>
<td class="c-calendar__cell-2">
<div class="c-calendar__text">lo</div>
</td>
<td class="c-calendar__cell-2">
<div class="c-calendar__text-5">lo</div>
</td>
<td class="c-calendar__cell-6">
<div class="c-calendar__text-6">lo</div>
</td>
</tr>
<tr class="c-calendar__row">
<td class="c-calendar__cell-7">
<div class="c-calendar__text">lo</div>
</td>
<td class="c-calendar__cell-2">
<div class="c-calendar__text">lo</div>
</td>
<td class="c-calendar__cell-2">
<div class="c-calendar__text">lo</div>
</td>
<td class="c-calendar__cell-2">
<div class="c-calendar__text-5">lo</div>
</td>
</tr>
</tbody>
</table>
</div>
.c-calendar-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-calendar {
display: table;
border-spacing: 0px 2px;
box-sizing: border-box;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
text-align: left;
}
.c-calendar__body {
display: table-row-group;
box-sizing: border-box;
vertical-align: middle;
}
.c-calendar__row {
display: table-row;
box-sizing: border-box;
vertical-align: middle;
}
.c-calendar__cell {
display: table-cell;
box-sizing: border-box;
padding: 1px;
vertical-align: middle;
}
.c-calendar__cell-2 {
display: table-cell;
box-sizing: border-box;
width: 42px;
height: 42px;
padding: 0px;
position: relative;
vertical-align: middle;
background-color: #FFFFFF;
cursor: pointer;
text-align: center;
}
.c-calendar__text {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 42px;
height: 42px;
position: relative;
border: 1px solid #FFFFFF;
border-radius: 100%;
font-size: 14px;
font-weight: 500;
line-height: 18px;
margin-right: 1px;
margin-left: 1px;
}
.c-calendar__cell-3 {
display: table-cell;
box-sizing: border-box;
width: 42px;
height: 42px;
padding: 0px;
position: relative;
vertical-align: middle;
background-color: #F7F7F7;
cursor: pointer;
text-align: center;
border-top-left-radius: 50%;
border-bottom-left-radius: 50%;
}
.c-calendar__text-2 {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 42px;
height: 42px;
position: relative;
background-color: #222222;
color: #FFFFFF;
border: 1px solid #222222;
border-radius: 100%;
font-size: 14px;
font-weight: 500;
line-height: 18px;
margin-right: 1px;
margin-left: 1px;
}
.c-calendar__cell-4 {
display: table-cell;
box-sizing: border-box;
width: 42px;
height: 42px;
padding: 0px;
position: relative;
vertical-align: middle;
background-color: #F7F7F7;
cursor: pointer;
text-align: center;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.c-calendar__text-3 {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 42px;
height: 42px;
position: relative;
border: 1px solid #F7F7F7;
border-radius: 100%;
font-size: 14px;
font-weight: 500;
line-height: 18px;
margin-right: 1px;
margin-left: 1px;
}
.c-calendar__text-4 {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
position: absolute;
overflow-x: clip;
overflow-y: clip;
white-space: nowrap;
}
.c-calendar__cell-5 {
display: table-cell;
box-sizing: border-box;
width: 42px;
height: 42px;
padding: 0px;
position: relative;
vertical-align: middle;
background-color: #F7F7F7;
border-radius: 4px 50% 50% 4px;
cursor: pointer;
text-align: center;
}
.c-calendar__text-5 {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 42px;
height: 42px;
position: relative;
color: #6C6C6C;
border: 1px solid #FFFFFF;
border-radius: 100%;
font-size: 14px;
font-weight: 500;
line-height: 18px;
margin-right: 1px;
margin-left: 1px;
}
.c-calendar__cell-6 {
display: table-cell;
box-sizing: border-box;
width: 42px;
height: 42px;
padding: 0px;
position: relative;
vertical-align: middle;
background-color: #FFFFFF;
cursor: default;
text-align: center;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.c-calendar__text-6 {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 42px;
height: 42px;
position: relative;
color: #8C8C8C;
border: 1px solid #FFFFFF;
border-radius: 100%;
font-size: 14px;
line-height: 18px;
text-decoration-line: line-through;
text-decoration-color: #8C8C8C;
margin-right: 1px;
margin-left: 1px;
}
.c-calendar__cell-7 {
display: table-cell;
box-sizing: border-box;
width: 42px;
height: 42px;
padding: 0px;
position: relative;
vertical-align: middle;
background-color: #FFFFFF;
cursor: pointer;
text-align: center;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
States
Calendar (2)
Verification: flagged, the calendar-2-row height did not reproduce the measured 42px after 2 correction attempts.
Anatomy
calendar-2: the component root, a <table> (.c-calendar-2)calendar-2-body: inner group (.c-calendar-2__body), content not capturedcalendar-2-row: inner group (.c-calendar-2__row, 3 instances), content not capturedcalendar-2-cell: inner group (.c-calendar-2__cell, 5 instances)calendar-2-cell-2: inner group (.c-calendar-2__cell-2, 11 instances)calendar-2-text: label text, 1 characters (.c-calendar-2__text, 15 instances)calendar-2-cell-3: inner group (.c-calendar-2__cell-3, 2 instances)calendar-2-cell-4: inner group (.c-calendar-2__cell-4, 2 instances)Recipe
<div class="c-calendar-2-scope">
<table class="c-calendar-2">
<tbody class="c-calendar-2__body">
<tr class="c-calendar-2__row">
<td class="c-calendar-2__cell"></td>
<td class="c-calendar-2__cell"></td>
<td class="c-calendar-2__cell"></td>
<td class="c-calendar-2__cell"></td>
<td class="c-calendar-2__cell"></td>
<td class="c-calendar-2__cell-2">
<div class="c-calendar-2__text">l</div>
</td>
<td class="c-calendar-2__cell-3">
<div class="c-calendar-2__text">l</div>
</td>
</tr>
<tr class="c-calendar-2__row">
<td class="c-calendar-2__cell-4">
<div class="c-calendar-2__text">l</div>
</td>
<td class="c-calendar-2__cell-2">
<div class="c-calendar-2__text">l</div>
</td>
<td class="c-calendar-2__cell-2">
<div class="c-calendar-2__text">l</div>
</td>
<td class="c-calendar-2__cell-2">
<div class="c-calendar-2__text">l</div>
</td>
<td class="c-calendar-2__cell-2">
<div class="c-calendar-2__text">l</div>
</td>
<td class="c-calendar-2__cell-2">
<div class="c-calendar-2__text">l</div>
</td>
<td class="c-calendar-2__cell-3">
<div class="c-calendar-2__text">l</div>
</td>
</tr>
<tr class="c-calendar-2__row">
<td class="c-calendar-2__cell-4">
<div class="c-calendar-2__text">lo</div>
</td>
<td class="c-calendar-2__cell-2">
<div class="c-calendar-2__text">lo</div>
</td>
<td class="c-calendar-2__cell-2">
<div class="c-calendar-2__text">lo</div>
</td>
<td class="c-calendar-2__cell-2">
<div class="c-calendar-2__text">lo</div>
</td>
<td class="c-calendar-2__cell-2">
<div class="c-calendar-2__text">lo</div>
</td>
<td class="c-calendar-2__cell-2">
<div class="c-calendar-2__text">lo</div>
</td>
</tr>
</tbody>
</table>
</div>
.c-calendar-2-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-calendar-2 {
display: table;
border-spacing: 0px 2px;
box-sizing: border-box;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
text-align: left;
}
.c-calendar-2__body {
display: table-row-group;
box-sizing: border-box;
vertical-align: middle;
}
.c-calendar-2__row {
display: table-row;
box-sizing: border-box;
vertical-align: middle;
}
.c-calendar-2__cell {
display: table-cell;
box-sizing: border-box;
padding: 1px;
vertical-align: middle;
}
.c-calendar-2__cell-2 {
display: table-cell;
box-sizing: border-box;
width: 42px;
height: 42px;
padding: 0px;
position: relative;
vertical-align: middle;
background-color: #FFFFFF;
cursor: pointer;
text-align: center;
}
.c-calendar-2__text {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 42px;
height: 42px;
position: relative;
border: 1px solid #FFFFFF;
border-radius: 100%;
font-size: 14px;
font-weight: 500;
line-height: 18px;
margin-right: 1px;
margin-left: 1px;
}
.c-calendar-2__cell-3 {
display: table-cell;
box-sizing: border-box;
width: 42px;
height: 42px;
padding: 0px;
position: relative;
vertical-align: middle;
background-color: #FFFFFF;
cursor: pointer;
text-align: center;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.c-calendar-2__cell-4 {
display: table-cell;
box-sizing: border-box;
width: 42px;
height: 42px;
padding: 0px;
position: relative;
vertical-align: middle;
background-color: #FFFFFF;
cursor: pointer;
text-align: center;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
States
Tabs (2)
Verification: flagged, the tab-2-media y did not reproduce the measured 20px after 2 correction attempts.
Anatomy
tab-2: the component root, a <button> (.c-tab-2)tab-2-group: inner flex row (.c-tab-2__group)tab-2-group-2: inner block (.c-tab-2__group-2)tab-2-media: image placeholder, 20x18px (.c-tab-2__media)tab-2-group-3: inner flex row (.c-tab-2__group-3)tab-2-text: label text, 14 characters (.c-tab-2__text)tab-2-text-2: label text, 3 characters (.c-tab-2__text-2)Recipe
<div class="c-tab-2-scope">
<button class="c-tab-2" type="button">
<span class="c-tab-2__group">
<div class="c-tab-2__group-2">
<span class="c-tab-2__media" aria-hidden="true"></span>
</div>
<span class="c-tab-2__group-3">
<span class="c-tab-2__text">lorem ipsum do</span>
<span class="c-tab-2__text-2">lor</span>
</span>
</span>
</button>
</div>
.c-tab-2-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-tab-2 {
display: flex;
align-items: center;
flex-shrink: 0;
border-spacing: 0px;
box-sizing: border-box;
height: 56px;
min-width: 67px;
max-width: 100%;
min-height: 40px;
padding: 12px 18px 12px 14px;
position: relative;
background-color: transparent;
color: #222222;
border: 1px solid #F2F2F2;
border-radius: 16px;
box-shadow: #00000012 0px 4px 20px 0px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.1s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, border-color, background-color;
}
.c-tab-2__group {
display: flex;
align-items: center;
gap: 8px;
box-sizing: border-box;
}
.c-tab-2__group-2 {
display: block;
box-sizing: border-box;
width: 20px;
height: 20px;
position: relative;
vertical-align: bottom;
}
.c-tab-2__media {
display: inline-block;
flex-shrink: 0;
box-sizing: border-box;
width: 20px;
height: 18px;
background-color: currentcolor;
}
.c-tab-2__group-3 {
display: flex;
align-items: center;
gap: 4px;
box-sizing: border-box;
}
.c-tab-2__text {
display: block;
box-sizing: border-box;
overflow-x: hidden;
overflow-y: hidden;
font-weight: 500;
text-overflow: ellipsis;
}
.c-tab-2__text-2 {
display: block;
box-sizing: border-box;
color: #8C8C8C;
}
.c-tab-2:hover {
border: 1px solid #C1C1C1;
}
.c-tab-2:focus {
border: 1px solid #8C8C8C;
box-shadow: none;
outline: none;
}
States
Tabs (3)
Verification: flagged, the tab-3-media y did not reproduce the measured 20px after 2 correction attempts.
Anatomy
tab-3: the component root, a <button> (.c-tab-3)tab-3-group: inner flex row (.c-tab-3__group)tab-3-group-2: inner block (.c-tab-3__group-2)tab-3-media: image placeholder, 20x18px (.c-tab-3__media)tab-3-group-3: inner flex row (.c-tab-3__group-3)tab-3-text: label text, 13 characters (.c-tab-3__text)tab-3-text-2: label text, 3 characters (.c-tab-3__text-2)Recipe
<div class="c-tab-3-scope">
<button class="c-tab-3" type="button">
<span class="c-tab-3__group">
<div class="c-tab-3__group-2">
<span class="c-tab-3__media" aria-hidden="true"></span>
</div>
<span class="c-tab-3__group-3">
<span class="c-tab-3__text">lorem ipsum d</span>
<span class="c-tab-3__text-2">lor</span>
</span>
</span>
</button>
</div>
.c-tab-3-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-tab-3 {
display: flex;
align-items: center;
flex-shrink: 0;
border-spacing: 0px;
box-sizing: border-box;
height: 56px;
min-width: 67px;
max-width: 100%;
min-height: 40px;
padding: 12px 18px 12px 14px;
position: relative;
background-color: transparent;
color: #222222;
border: 1px solid #F2F2F2;
border-radius: 16px;
box-shadow: #00000012 0px 4px 20px 0px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.1s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, border-color, background-color;
}
.c-tab-3__group {
display: flex;
align-items: center;
gap: 8px;
box-sizing: border-box;
}
.c-tab-3__group-2 {
display: block;
box-sizing: border-box;
width: 20px;
height: 20px;
position: relative;
vertical-align: bottom;
}
.c-tab-3__media {
display: inline-block;
flex-shrink: 0;
box-sizing: border-box;
width: 20px;
height: 18px;
background-color: currentcolor;
}
.c-tab-3__group-3 {
display: flex;
align-items: center;
gap: 4px;
box-sizing: border-box;
}
.c-tab-3__text {
display: block;
box-sizing: border-box;
overflow-x: hidden;
overflow-y: hidden;
font-weight: 500;
text-overflow: ellipsis;
}
.c-tab-3__text-2 {
display: block;
box-sizing: border-box;
color: #8C8C8C;
}
.c-tab-3:hover {
border: 1px solid #C1C1C1;
}
.c-tab-3:focus {
border: 1px solid #8C8C8C;
box-shadow: none;
outline: none;
}
States
Tabs (4)
Verification: flagged, the tab-4-media y did not reproduce the measured 20px after 2 correction attempts.
Anatomy
tab-4: the component root, a <button> (.c-tab-4)tab-4-group: inner flex row (.c-tab-4__group)tab-4-group-2: inner block (.c-tab-4__group-2)tab-4-media: image placeholder, 20x18px (.c-tab-4__media)tab-4-group-3: inner flex row (.c-tab-4__group-3)tab-4-text: label text, 13 characters (.c-tab-4__text)tab-4-text-2: label text, 2 characters (.c-tab-4__text-2)Recipe
<div class="c-tab-4-scope">
<button class="c-tab-4" type="button">
<span class="c-tab-4__group">
<div class="c-tab-4__group-2">
<span class="c-tab-4__media" aria-hidden="true"></span>
</div>
<span class="c-tab-4__group-3">
<span class="c-tab-4__text">lorem ipsum d</span>
<span class="c-tab-4__text-2">lo</span>
</span>
</span>
</button>
</div>
.c-tab-4-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-tab-4 {
display: flex;
align-items: center;
flex-shrink: 0;
border-spacing: 0px;
box-sizing: border-box;
height: 56px;
min-width: 67px;
max-width: 100%;
min-height: 40px;
padding: 12px 18px 12px 14px;
position: relative;
background-color: transparent;
color: #222222;
border: 1px solid #F2F2F2;
border-radius: 16px;
box-shadow: #00000012 0px 4px 20px 0px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.1s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, border-color, background-color;
}
.c-tab-4__group {
display: flex;
align-items: center;
gap: 8px;
box-sizing: border-box;
}
.c-tab-4__group-2 {
display: block;
box-sizing: border-box;
width: 20px;
height: 20px;
position: relative;
vertical-align: bottom;
}
.c-tab-4__media {
display: inline-block;
flex-shrink: 0;
box-sizing: border-box;
width: 20px;
height: 18px;
background-color: currentcolor;
}
.c-tab-4__group-3 {
display: flex;
align-items: center;
gap: 4px;
box-sizing: border-box;
}
.c-tab-4__text {
display: block;
box-sizing: border-box;
overflow-x: hidden;
overflow-y: hidden;
font-weight: 500;
text-overflow: ellipsis;
}
.c-tab-4__text-2 {
display: block;
box-sizing: border-box;
color: #8C8C8C;
}
.c-tab-4:hover {
border: 1px solid #C1C1C1;
}
.c-tab-4:focus {
border: 1px solid #8C8C8C;
box-shadow: none;
outline: none;
}
States
Verification: flagged, the rating-summary-list width did not reproduce the measured 138px after 2 correction attempts.
Anatomy
rating-summary: the component root, a <div> (.c-rating-summary)rating-summary-group: inner block (.c-rating-summary__group)rating-summary-group-2: inner block (.c-rating-summary__group-2)rating-summary-title: heading, 0 characters (.c-rating-summary__title)rating-summary-text: label text, 14 characters (.c-rating-summary__text)rating-summary-list: inner group (.c-rating-summary__list)rating-summary-item: inner group (.c-rating-summary__item, 5 instances), content not capturedRecipe
<div class="c-rating-summary-scope">
<div class="c-rating-summary">
<div class="c-rating-summary__group">
<div class="c-rating-summary__group-2">
<h3 class="c-rating-summary__title">
<div class="c-rating-summary__text">lorem ipsum do</div>
</h3>
<ol class="c-rating-summary__list">
<li class="c-rating-summary__item"></li>
<li class="c-rating-summary__item"></li>
<li class="c-rating-summary__item"></li>
<li class="c-rating-summary__item"></li>
<li class="c-rating-summary__item"></li>
</ol>
</div>
</div>
</div>
</div>
.c-rating-summary-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-rating-summary {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-rating-summary__group {
display: block;
box-sizing: border-box;
}
.c-rating-summary__group-2 {
box-sizing: border-box;
}
.c-rating-summary__title {
display: block;
box-sizing: border-box;
margin: 0px;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-rating-summary__text {
display: block;
box-sizing: border-box;
font-size: 12px;
font-weight: 500;
line-height: 16px;
margin-bottom: 8px;
}
.c-rating-summary__list {
display: block;
box-sizing: border-box;
padding: 0px;
margin: 0px;
color: #6C6C6C;
font-size: 10px;
font-weight: 400;
line-height: 12px;
list-style-type: decimal;
}
.c-rating-summary__item {
display: list-item;
box-sizing: border-box;
list-style-type: none;
}
States
Verification: flagged, the breadcrumb-group y did not reproduce the measured 7px after 2 correction attempts.
Anatomy
breadcrumb: the component root, a <nav> (.c-breadcrumb)breadcrumb-list: inner group (.c-breadcrumb__list)breadcrumb-item: inner flex row (.c-breadcrumb__item, 3 instances)breadcrumb-link: link, 6-character label (.c-breadcrumb__link, 2 instances)breadcrumb-group: inner group (.c-breadcrumb__group, 2 instances)breadcrumb-group-2: inner group (.c-breadcrumb__group-2, 2 instances), content not capturedbreadcrumb-link-active: link (.c-breadcrumb__link-active)breadcrumb-text: label text, 5 characters (.c-breadcrumb__text)Recipe
<div class="c-breadcrumb-scope">
<nav class="c-breadcrumb">
<ol class="c-breadcrumb__list">
<li class="c-breadcrumb__item">
<a class="c-breadcrumb__link" href="#">lorem</a>
<span class="c-breadcrumb__group">
<span class="c-breadcrumb__group-2"></span>
</span>
</li>
<li class="c-breadcrumb__item">
<a class="c-breadcrumb__link" href="#">lorem</a>
<span class="c-breadcrumb__group">
<span class="c-breadcrumb__group-2"></span>
</span>
</li>
<li class="c-breadcrumb__item">
<a class="c-breadcrumb__link-active" href="#">
<span class="c-breadcrumb__text">lorem</span>
</a>
</li>
</ol>
</nav>
</div>
.c-breadcrumb-scope {
background-color: #F7F7F7;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-breadcrumb {
display: block;
border-spacing: 0px;
box-sizing: border-box;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 20px;
}
.c-breadcrumb__list {
display: block;
box-sizing: border-box;
padding: 0px;
margin: 0px;
list-style-type: decimal;
}
.c-breadcrumb__item {
display: inline-flex;
align-items: center;
box-sizing: border-box;
}
.c-breadcrumb__link {
display: block;
box-sizing: border-box;
color: #222222;
cursor: pointer;
font-size: 14px;
line-height: 18px;
text-decoration-line: none;
}
.c-breadcrumb__group {
display: block;
box-sizing: border-box;
margin-right: 8px;
margin-left: 8px;
}
.c-breadcrumb__group-2 {
display: inline;
box-sizing: border-box;
white-space: pre-wrap;
}
.c-breadcrumb__link-active {
display: block;
box-sizing: border-box;
color: #222222;
cursor: pointer;
font-size: 14px;
line-height: 18px;
text-decoration-line: none;
}
.c-breadcrumb__text {
display: inline;
box-sizing: border-box;
}
States
Verification: flagged, the render came out 4 px narrower than the original (instance 1) after 2 correction attempts.
Anatomy
section-carousel: the component root, a <div> (.c-section-carousel)Recipe
<div class="c-section-carousel-scope">
<div class="c-section-carousel"></div>
</div>
.c-section-carousel-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-section-carousel {
display: block;
border-spacing: 0px;
box-sizing: border-box;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-section-carousel::before {
content: "";
display: flex;
box-sizing: border-box;
}
.c-section-carousel::after {
content: "";
display: flex;
box-sizing: border-box;
}
States
Icon button
Verification: verified against the live page at desktop.
Anatomy
icon-button: the component root, a <button> (.c-icon-button)icon-button-group: inner flex row (.c-icon-button__group)icon-button-icon: icon placeholder, 24px (.c-icon-button__icon)Recipe
<div class="c-icon-button-scope">
<button class="c-icon-button" type="button">
<span class="c-icon-button__group">
<span class="c-icon-button__icon" aria-hidden="true"></span>
</span>
</button>
</div>
.c-icon-button-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-icon-button {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 40px;
height: 40px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-icon-button::before {
content: "";
display: block;
box-sizing: border-box;
width: 40px;
height: 40px;
position: absolute;
top: 20px;
right: -20px;
bottom: -20px;
left: 20px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -20, -20);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-icon-button__group {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-icon-button__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 24px;
height: 24px;
background-color: currentcolor;
}
.c-icon-button:hover::before {
background-color: #EBEBEB;
}
.c-icon-button:focus {
outline: none;
}
.c-icon-button:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
Icon button (2)
Verification: verified against the live page at desktop.
Anatomy
icon-button-2: the component root, a <button> (.c-icon-button-2)icon-button-2-group: inner flex row (.c-icon-button-2__group)icon-button-2-icon: icon placeholder, 16px (.c-icon-button-2__icon)Recipe
<div class="c-icon-button-2-scope">
<button class="c-icon-button-2" type="button">
<span class="c-icon-button-2__group">
<span class="c-icon-button-2__icon" aria-hidden="true"></span>
</span>
</button>
</div>
.c-icon-button-2-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-icon-button-2 {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 40px;
height: 40px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-icon-button-2::before {
content: "";
display: block;
box-sizing: border-box;
width: 40px;
height: 40px;
position: absolute;
top: 20px;
right: -20px;
bottom: -20px;
left: 20px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -20, -20);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-icon-button-2__group {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-icon-button-2__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
background-color: currentcolor;
}
.c-icon-button-2:hover::before {
background-color: #EBEBEB;
}
.c-icon-button-2:focus {
outline: none;
}
.c-icon-button-2:focus::before {
box-shadow: #FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px;
}
States
Verification: flagged, the nav-group y did not reproduce the measured 20px after 2 correction attempts.
Anatomy
nav: the component root, a <nav> (.c-nav)nav-group: inner flex row (.c-nav__group)nav-button: button (.c-nav__button)nav-text: label text, 13 characters (.c-nav__text)nav-group-2: inner block (.c-nav__group-2)nav-button-2: button (.c-nav__button-2, 2 instances)nav-group-3: inner flex row (.c-nav__group-3, 2 instances), content not capturednav-group-4: inner block (.c-nav__group-4)nav-group-5: inner block (.c-nav__group-5)Recipe
<div class="c-nav-scope">
<nav class="c-nav">
<div class="c-nav__group">
<button class="c-nav__button" type="button">
<span class="c-nav__text">lorem ipsum d</span>
</button>
<div class="c-nav__group-2">
<button class="c-nav__button-2" type="button">
<span class="c-nav__group-3"></span>
</button>
</div>
</div>
<div class="c-nav__group-4">
<div class="c-nav__group-5">
<button class="c-nav__button-2" type="button">
<span class="c-nav__group-3"></span>
</button>
</div>
</div>
</nav>
</div>
.c-nav-scope {
background-color: #FFFFFF;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-nav {
display: flex;
justify-content: flex-end;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
height: 80px;
position: relative;
color: #222222;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20.02px;
}
.c-nav__group {
display: flex;
justify-content: flex-end;
align-items: center;
flex-grow: 1;
gap: 12px;
box-sizing: border-box;
margin-right: 12px;
}
.c-nav__button {
display: block;
box-sizing: border-box;
padding: 11px 12px;
position: relative;
background-color: transparent;
color: #222222;
border: 0;
border-radius: 20px;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 18px;
letter-spacing: normal;
text-transform: none;
text-align: center;
white-space: nowrap;
appearance: button;
transition-duration: 0.2s, 0.25s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: box-shadow, transform, background-color, border-color, color;
}
.c-nav__text {
display: inline-block;
box-sizing: border-box;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-nav__group-2 {
display: block;
box-sizing: border-box;
position: relative;
vertical-align: middle;
margin-top: auto;
margin-bottom: auto;
}
.c-nav__button-2 {
display: inline-flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
padding: 0px;
position: relative;
background-color: #F2F2F2;
color: #222222;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-nav__button-2::before {
content: "";
display: block;
box-sizing: border-box;
width: 40px;
height: 40px;
position: absolute;
top: 20px;
right: -20px;
bottom: -20px;
left: 20px;
background-color: #F2F2F2;
border-radius: 50%;
transform: matrix(1, 0, 0, 1, -20, -20);
transition-duration: 0.3s, 0.3s, 0.3s, 0.3s;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1), cubic-bezier(0.2, 0, 0, 1);
transition-property: background-color, border-color, backdrop-filter, -webkit-backdrop-filter;
}
.c-nav__group-3 {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 40px;
height: 40px;
position: relative;
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}
.c-nav__group-4 {
display: block;
box-sizing: border-box;
}
.c-nav__group-5 {
display: inline;
box-sizing: border-box;
position: relative;
}
States
title-md, button and caption-strong.primary-active (#DA1249) for the single primary action. It is the solid fill of button-primary-group and the search button, always with on-primary text.button-primary and button-primary-2 are 48px, as is button-secondary-4. The nav CTA button-secondary is 40px. Circular icon buttons (icon-button, button-ghost-5) are 40px.button-primary) uses 50px. The nav CTA pill (button-secondary) uses 20px. The large grey button (button-secondary-4) uses 12px. Text-level ghost buttons use 8px (button-ghost-7) or 4px (button-ghost-9).rounded.4xl (20px) with a hairline (#DDDDDD) placeholder fill behind the photo, as card-2-group-2 does. Run them in carousels on a 12px gap (header-inner-2-gap).ink for the title and body-muted (#6C6C6C) for meta, at 13px/500 and 12px/400.color(srgb 0 0 0 / 0.02) 0px 0px 0px 1px, color(srgb 0 0 0 / 0.1) 0px 8px 24px 0px on the search pill and #00000014 0px 1px 2px 0px, #0000000D 0px 4px 12px 0px on the condensed search bar.#FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px so focus stays visible over photos.display-lg (26px) either.primary (#FF385C) for large fills, body text or section backgrounds. It belongs to the logo.surface-soft (#F2F2F2) fills with an #EBEBEB hover instead.title-lg and title-md.ink-black (#000000) appears only as a hover text color. Body and headings stay on ink (#222222).rounded.xs).This analysis is two-viewport: one desktop and one mobile capture. No intermediate breakpoints were observed, so no breakpoint values are stated.
footer-inner-mobile-column-2). The inspiration link grid reduces to two columns. The footer grows to 1310px tall (footer-inner-mobile, flagged: the footer-inner-mobile-inner height did not reproduce the measured 1310px after 2 correction attempts).Measured control sizes already suit touch:
button-primary, button-primary-2, button-secondary-4) and for the form fields input-4, input-5 and input-6.icon-button, header-inner-2-menu-toggle).Text-level controls such as nav-link and button-ghost-9 are only 18px tall. Keep them inside a larger tappable area on mobile.
ink, body-muted, surface-soft, primary-active and the rest by name. The only sanctioned non-token color is the #EBEBEB hover fill, so add a token before reusing it widely.primary-active (#DA1249) goes on the search or booking action only, and primary (#FF385C) on the logo. Any new coral surface needs a strong reason.title-lg and title-md carry negative tracking.rounded.4xl (20px) and no shadow. Floating chrome (search, tabs, menus) takes one of the measured shadow tiers plus a 1px hairline. Do not invent darker shadows; nothing exceeds 0.12 alpha.button-primary-2, 14px/24px padding), the 40px nav pill (button-secondary, 11px/12px padding), the 48px grey button-secondary-4, or the 40px circular icon-button on surface-soft. Extend these rather than creating new shapes.#FFFFFF 0px 0px 0px 2px, #222222 0px 0px 0px 4px on fills and photos, #222222 0px 0px 0px 2px on transparent pills, and the focus-ring (#3F3F3F) fill treatment on footer links.base spacing step or section padding was verified. Layout numbers are limited to button paddings and the 12px header gap.primary-active, but no gradient value was measured. Render coral as a flat fill until verified.Ten plik DESIGN.md jest po angielsku, bo w tym języku czytają go agenci AI do kodowania.
Wyodrębnione z publicznej strony Airbnb, to nie są oficjalne wytyczne marki. Sprawdź fonty innej strony

Język designu Ubera łączy czysty minimalizm z żywymi ilustracjami, tworząc platformę transportową, która jest przystępna, a zarazem profesjonalna. Ostra baza czarno-biała zapewnia przejrzystość i czytelność, a kolorowe ilustracje w sekcjach hero dodają ciepła i ludzkiego wymiaru. Typografia opiera się na autorskiej rodzinie UberMove, co zapewnia spójność marki, a obfite odstępy tworzą przestrzeń oddechu w całym interfejsie.
IKEA-owa globalna strona główna opiera się na odważnym, płaskim systemie projektowym, którego głównym elementem jest ikoniczny żółty IKEA (#ffdb00) jako powierzchnia najważniejszych działań, a niebieski IKEA (#0058a3) pełni rolę akcentu logo marki. Cały system typograficzny opiera się na jednym, autorskim kroju pisma – Noto IKEA – w wagach 400 i 700, w ściśle określonej skali, od 14px dla tekstu podstawowego po 51px dla nagłówków wyróżniających. Wyniesienie elementów nad tło osiągnięte jest wyłącznie dzięki kontrastowi barw i strukturze układu, bez cieni. Układ korzysta z kontenera o maksymalnej szerokości 90rem z odstępem siatki 1,5rem na desktopie oraz spójnego tokenu zaokrąglenia 8px stosowanego do elementów interaktywnych. Ciepłe, lekko kremowe tło (#fffefb) łagodzi surowość tekstu w kolorze #111111, tworząc czytelne, wysokokontrastowe i dostępne doświadczenie lektury.

Strona główna marketingowa Notion łączy głęboko granatową sekcję hero (#02093a) z jasnym tłem treści (#f6f5f4), stosując niestandardowy krój pisma NotionInter we wszystkich rolach tekstowych. Układ opiera się na siatce 12-kolumnowej z odstępami 28px, a język zaokrągleń łączy dwie wartości: 8px dla kart i 9999px dla pigułek. Elementy pływające otrzymują wielowarstwowy, stopniowo narastający system cieni. Niebieski marki (#2537b1) wyznacza przyciski wezwania do działania i akcenty, a semantyczna skala szarości (od gray-200 do gray-900) porządkuje hierarchię tekstu i powierzchni.

Design system Railway to ciemne, nastawione na twórców platformy deweloperskiej. Opiera się na głęboko granatowo-czarnych powierzchniach (#13111c, #0b0b0f) i wysokokontrastowym, lekko kremowym tekście (#f7f7f8) oraz charakterystycznym fioletowym akcentem marki (#853bce / #553f83). Nagłówek sekcji hero używa kroju IBM Plex Serif, nadającego mu redakcyjny ciężar, podczas gdy Inter obsługuje całą treść interfejsu, a JetBrains Mono i SF Mono pełnią rolę w kontekstach kodu. Wyniesienie elementów osiągnięto za pomocą wewnętrznych, białych obramówek z łagodnym blaskiem (rgba(255,255,255,0.2), 1.5px inset) zamiast cieni, co nadaje interfejsowi estetykę szklanych paneli. System odstępów oparty jest na wielokrotnościach 4px z wyraźnym rytmem 8/12/16/24/32. Promienie zaokrągleń są małe, przy czym dominuje 4px, a dla kart i kontenerów hero stosowane są selektywnie 8px i 16px.

Strona główna marketingowa Shopify opiera się na dynamicznym, pełnoekranowym wideo w sekcji hero, z niemal czarnym tłem (#02090a), które wyraźnie kontrastuje z białym paskiem nawigacji nad nim. Główny akcent marki to intensywna miętowa zieleń (#36f4a4), używana oszczędnie do wyróżnień i stanów interaktywnych. Typografia łączy NeueHaasGrotesk w nagłówkach display i redakcyjnych z Inter-Variable w tekstach interfejsu. Przyciski CTA mają w pełni zaokrąglone kształty pigułki (border-radius: 9999px). Cały system jest pewny siebie, o wysokim kontraście i aspiracyjny, zaprojektowany tak, by zamieniać odwiedzających w sprzedawców.

Strona główna marketingowa Stripe opiera się na ściśle kontrolowanym systemie projektowym (HDS — Stripe Design System). Podstawą jest zmienna czcionka „sohne-var” w lekkich wagach (300–400), paleta od głębokiej granatowej do indygo z kolorem marki #533afd (Stripe Indigo) jako punktem odniesienia oraz charakterystyczne, rozciągnięte na całą szerokość spektralne tło sekcji hero. Komponenty mają niewielkie zaokrąglenia (4–6 px), płaskie do minimalnych cienie i układ oparty na siatce odstępów o podstawie 8 px. Ogólny ton jest autorytatywny, a zarazem przystępny: infrastruktura finansowa komunikowana pewną typografią i powściągliwym użyciem koloru.