ghost · desktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mdConfiança da extração
O sistema de design da Airbnb se baseia em uma única fonte variável proprietária (Airbnb Cereal VF), com uma paleta neutra quase monocromática ancorada no cinza-carvão profundo (#222222) e em cinzas claros. O coral-rosa característico da marca, "Rausch" (#ff385c), é reservado exclusivamente para os CTAs principais e para o logotipo. O layout é uma grade responsiva de cards com fotos, com proporção generosa de imagem para texto, cantos arredondados de 20px nos cards e um sistema de sombras ambientes em múltiplas camadas que cria profundidade sutil, sem contraste forte. A barra de busca é um contêiner de destaque em formato de pílula, que reúne a principal ação do usuário.
ghost · desktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mdghost · desktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mdghost · desktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mdghost · desktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mdghost · desktop
Em repouso100% de correspondênciaMedidas que coincidem: 56
Hover100% de correspondênciaMedidas que coincidem: 18
Foco100% de correspondênciaMedidas que coincidem: 18
ghost · desktop
Em repouso100% de correspondênciaMedidas que coincidem: 56
Hover100% de correspondênciaMedidas que coincidem: 18
Foco100% de correspondênciaMedidas que coincidem: 18
ghost · desktop
Em repouso100% de correspondênciaMedidas que coincidem: 35
Foco100% de correspondênciaMedidas que coincidem: 18
ghost · desktop
Com foco, a renderização tem 95% de semelhança com o site, abaixo do mínimo de 97%.
Em repouso100% de correspondênciaMedidas que coincidem: 76
Hover100% de correspondênciaMedidas que coincidem: 18
Foco95% de correspondênciaMedidas que coincidem: 18
ghost · desktop
Em repouso100% de correspondênciaMedidas que coincidem: 76
Foco100% de correspondênciaMedidas que coincidem: 18
primary · desktop
Em repouso100% de correspondênciaMedidas que coincidem: 56
Foco100% de correspondênciaMedidas que coincidem: 18
primary · desktop
Em repouso100% de correspondênciaMedidas que coincidem: 22
Foco100% de correspondênciaMedidas que coincidem: 18
secondary · desktop
Em repouso100% de correspondênciaMedidas que coincidem: 21
Hover100% de correspondênciaMedidas que coincidem: 18
Foco100% de correspondênciaMedidas que coincidem: 18
secondary · desktop
O elemento não estava visível quando a verificação rodou.
Nada foi comparado para este componente.
Receita no DESIGN.mdsecondary · desktop
A renderização tem 63% de semelhança com o site, abaixo do mínimo de 97%.
Em repouso63% de correspondênciaMedidas que coincidem: 54
Hover63% de correspondênciaMedidas que coincidem: 18
Foco96% de correspondênciaMedidas que coincidem: 18
secondary · desktop
Em repouso100% de correspondênciaMedidas que coincidem: 21
Hover100% de correspondênciaMedidas que coincidem: 18
Foco100% de correspondênciaMedidas que coincidem: 18
desktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mddesktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mddesktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mddesktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mddesktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mddesktop
Group 9: y é 130px, o site tem 82px; Group 10: y é 258px, o site tem 162px e mais 2.
Em repouso100% de correspondência4 de 296 medidas diferem
Em repouso, instância 2100% de correspondência4 de 296 medidas diferem
Em repouso, instância 3100% de correspondência4 de 296 medidas diferem
Em repouso, instância 4100% de correspondência4 de 296 medidas diferem
Em repouso, instância 5100% de correspondência4 de 296 medidas diferem
Em repouso, instância 6100% de correspondência4 de 296 medidas diferem
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mddesktop
Group: y é 10px, o site tem 7px; Group: width é 0px, o site tem 7px e mais 11.
Em repouso100% de correspondência13 de 250 medidas diferem
desktop
Row: height é 71px, o site tem 42px; Cell: height é 71px, o site tem 42px e mais 49.
Em repouso94% de correspondência51 de 497 medidas diferem
desktop
Row: height é 86px, o site tem 42px; Cell: height é 86px, o site tem 42px e mais 51.
Em repouso100% de correspondência53 de 536 medidas diferem
desktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mddesktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mddesktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
A renderização tem 100% de semelhança com o site, abaixo do mínimo de 96%.
Em repouso100% de correspondênciaMedidas que coincidem: 21
Em repouso, instância 2100% de correspondênciaMedidas que coincidem: 21
Em repouso, instância 3100% de correspondênciaMedidas que coincidem: 21
Em repouso, instância 4100% de correspondênciaMedidas que coincidem: 21
desktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mddesktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mddesktop
Em repouso100% de correspondênciaMedidas que coincidem: 56
Hover100% de correspondênciaMedidas que coincidem: 18
Foco100% de correspondênciaMedidas que coincidem: 18
desktop
Em repouso100% de correspondênciaMedidas que coincidem: 56
Hover100% de correspondênciaMedidas que coincidem: 18
Foco100% de correspondênciaMedidas que coincidem: 18
desktop
Em repouso100% de correspondênciaMedidas que coincidem: 56
Hover100% de correspondênciaMedidas que coincidem: 18
Foco100% de correspondênciaMedidas que coincidem: 18
desktop
Em repouso100% de correspondênciaMedidas que coincidem: 56
Hover100% de correspondênciaMedidas que coincidem: 18
Foco100% de correspondênciaMedidas que coincidem: 18
desktop
Group: y é 17px, o site tem 20px; Group: height é 45px, o site tem 40px e mais 9.
Em repouso100% de correspondência11 de 216 medidas diferem
desktop
Em repouso100% de correspondênciaMedidas que coincidem: 21
Foco100% de correspondênciaMedidas que coincidem: 18
desktop
A renderização tem 30% de semelhança com o site, abaixo do mínimo de 96%.
Em repouso30% de correspondênciaMedidas que coincidem: 21
Foco100% de correspondênciaMedidas que coincidem: 18
desktop
Media: y é 0px, o site tem 455px.
Em repouso100% de correspondência1 de 57 medidas diferem
Foco100% de correspondênciaMedidas que coincidem: 18
desktop
Media: y é 0px, o site tem 217px.
Em repouso100% de correspondência1 de 57 medidas diferem
Foco100% de correspondênciaMedidas que coincidem: 18
desktop
List: width é 170px, o site tem 138px; Item: width é 170px, o site tem 138px e mais 4.
Em repouso91% de correspondência6 de 207 medidas diferem
Em repouso, instância 299% de correspondência6 de 207 medidas diferem
Em repouso, instância 399% de correspondência6 de 207 medidas diferem
Em repouso, instância 499% de correspondência6 de 207 medidas diferem
Em repouso, instância 599% de correspondência6 de 207 medidas diferem
Em repouso, instância 699% de correspondência6 de 207 medidas diferem
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Com foco, a renderização tem 93% de semelhança com o site, abaixo do mínimo de 96%.
Em repouso100% de correspondênciaMedidas que coincidem: 46
Hover99% de correspondênciaMedidas que coincidem: 18
Foco93% de correspondênciaMedidas que coincidem: 18
desktop
No hover, a renderização tem 90% de semelhança com o site, abaixo do mínimo de 96%.
Em repouso99% de correspondênciaMedidas que coincidem: 66
Hover90% de correspondênciaMedidas que coincidem: 18
Foco91% de correspondênciaMedidas que coincidem: 18
desktop
Nenhuma receita foi criada: o elemento não estava visível.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: o elemento não estava visível.
Nada foi comparado para este componente.
desktop
A renderização tem 100% de semelhança com o site, abaixo do mínimo de 96%.
Em repouso100% de correspondênciaMedidas que coincidem: 21
Em repouso, instância 2100% de correspondênciaMedidas que coincidem: 21
Em repouso, instância 3100% de correspondênciaMedidas que coincidem: 21
Em repouso, instância 4100% de correspondênciaMedidas que coincidem: 21
Em repouso, instância 5100% de correspondênciaMedidas que coincidem: 21
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Com foco, a renderização tem 96% de semelhança com o site, abaixo do mínimo de 96%.
Em repouso100% de correspondênciaMedidas que coincidem: 21
Hover100% de correspondênciaMedidas que coincidem: 18
Foco96% de correspondênciaMedidas que coincidem: 18
desktop
Media: y é 18px, o site tem 20px.
Em repouso100% de correspondência1 de 104 medidas diferem
Hover99% de correspondênciaMedidas que coincidem: 22
Foco99% de correspondênciaMedidas que coincidem: 22
desktop
Media: y é 18px, o site tem 20px.
Em repouso100% de correspondência1 de 104 medidas diferem
Hover100% de correspondênciaMedidas que coincidem: 22
Foco100% de correspondênciaMedidas que coincidem: 22
desktop
Media: y é 18px, o site tem 20px.
Em repouso100% de correspondência1 de 104 medidas diferem
Hover99% de correspondênciaMedidas que coincidem: 22
Foco99% de correspondênciaMedidas que coincidem: 22
desktop
Em repouso100% de correspondênciaMedidas que coincidem: 21
Foco100% de correspondênciaMedidas que coincidem: 18
desktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mddesktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: a leitura do elemento excedeu o tempo limite.
Nada foi comparado para este componente.
desktop
Group: y é -16px, o site tem 0px; Group: height é 900px, o site tem 96px e mais 21.
Em repouso99% de correspondência23 de 545 medidas diferem
Hovernão verificado
Foconão verificado
Foco em cta 299% de correspondênciaMedidas que coincidem: 18
Hover em cta 299% de correspondênciaMedidas que coincidem: 18
Foco em cta99% de correspondênciaMedidas que coincidem: 18
Hover em cta99% de correspondênciaMedidas que coincidem: 18
Foco em logo99% de correspondênciaMedidas que coincidem: 18
desktop
Em repouso100% de correspondênciaMedidas que coincidem: 238
Hovernão verificado
Foconão verificado
Foco em button100% de correspondênciaMedidas que coincidem: 18
Hover em button100% de correspondênciaMedidas que coincidem: 18
Foco em menu toggle100% de correspondênciaMedidas que coincidem: 18
Hover em menu toggle100% de correspondênciaMedidas que coincidem: 18
desktop
Group: y é -16px, o site tem 0px; Group: height é 900px, o site tem 96px e mais 54.
Em repouso99% de correspondência56 de 1063 medidas diferem
Hovernão verificado
Foconão verificado
Foco em cta99% de correspondênciaMedidas que coincidem: 18
Hover em cta99% de correspondênciaMedidas que coincidem: 18
Foco em link 298% de correspondênciaMedidas que coincidem: 18
Foco em link 398% de correspondênciaMedidas que coincidem: 18
Foco em link 498% de correspondênciaMedidas que coincidem: 18
Foco em link98% de correspondênciaMedidas que coincidem: 18
Foco em logo99% de correspondênciaMedidas que coincidem: 18
Foco em menu toggle99% de correspondênciaMedidas que coincidem: 18
Hover em menu toggle99% de correspondênciaMedidas que coincidem: 18
desktop
Group: y é -16px, o site tem 0px; Group: height é 900px, o site tem 96px e mais 54.
Em repouso99% de correspondência56 de 1063 medidas diferem
Hovernão verificado
Foconão verificado
Foco em cta99% de correspondênciaMedidas que coincidem: 18
Hover em cta99% de correspondênciaMedidas que coincidem: 18
Foco em link 298% de correspondênciaMedidas que coincidem: 18
Foco em link 398% de correspondênciaMedidas que coincidem: 18
Foco em link 498% de correspondênciaMedidas que coincidem: 18
Foco em link98% de correspondênciaMedidas que coincidem: 18
Foco em logo99% de correspondênciaMedidas que coincidem: 18
Foco em menu toggle99% de correspondênciaMedidas que coincidem: 18
Hover em menu toggle99% de correspondênciaMedidas que coincidem: 18
mobile
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
mobile
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
mobile
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
mobile
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
mobile
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Raiz: height é 845px, o site tem 625px; Inner: height é 845px, o site tem 625px e mais 103.
Em repouso100% de correspondência105 de 1577 medidas diferem
Hovernão verificado
Foconão verificado
Foco em link100% de correspondênciaMedidas que coincidem: 18
Hover em link100% de correspondênciaMedidas que coincidem: 18
desktop
O elemento não foi encontrado na página de novo.
Nada foi comparado para este componente.
Receita no DESIGN.mdmobile
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
mobile
Inner: height é 953px, o site tem 1310px; Group: height é 953px, o site tem 1310px e mais 117.
Em repouso100% de correspondência119 de 1646 medidas diferem
Hovernão verificado
Foconão verificado
Foco em link100% de correspondênciaMedidas que coincidem: 18
Hover em link100% de correspondênciaMedidas que coincidem: 18
mobile
Nenhuma receita foi criada: o elemento não foi encontrado na página.
Nada foi comparado para este componente.
desktop
Nenhuma receita foi criada: o elemento não estava visível.
Nada foi comparado para este componente.
desktop
Em repouso100% de correspondênciaMedidas que coincidem: 22
Foco100% de correspondênciaMedidas que coincidem: 18
desktop
Nenhuma receita foi criada: o elemento não estava visível.
Nada foi comparado para este componente.
desktop
Com foco, a renderização tem 94% de semelhança com o site, abaixo do mínimo de 97%.
Em repouso100% de correspondênciaMedidas que coincidem: 64
Foco94% de correspondênciaMedidas que coincidem: 22
desktop
Com foco, a renderização tem 94% de semelhança com o site, abaixo do mínimo de 97%.
Em repouso100% de correspondênciaMedidas que coincidem: 30
Foco94% de correspondênciaMedidas que coincidem: 22
desktop
Com foco, a renderização tem 97% de semelhança com o site, abaixo do mínimo de 97%.
Em repouso100% de correspondênciaMedidas que coincidem: 51
Foco97% de correspondênciaMedidas que coincidem: 22
desktop
Nenhuma receita foi criada: o elemento não estava visível.
Nada foi comparado para este componente.
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.Este arquivo DESIGN.md está em inglês, o idioma em que os agentes de código com IA o leem.
Extraído do site público de Airbnb. Não é uma diretriz oficial da marca. Veja as fontes de outro site

A linguagem de design da Uber combina minimalismo limpo com ilustrações vibrantes para criar uma plataforma de transporte acessível e, ao mesmo tempo, profissional. A base em preto e branco contrastante oferece clareza e legibilidade, enquanto as ilustrações coloridas nas seções de destaque trazem calor e conexão humana. A tipografia se apoia na família personalizada UberMove para manter a consistência da marca, com espaçamentos generosos que dão respiro à interface como um todo.
A página inicial global da IKEA usa um sistema de design ousado e chapado, ancorado no amarelo IKEA (#ffdb00) como superfície principal de ação e no azul IKEA (#0058a3) como destaque da logo da marca. Todo o sistema tipográfico se apoia em uma única fonte personalizada, a Noto IKEA, nos pesos 400 e 700, seguindo uma escala bem definida que vai de 14px no texto corrido até 51px nos títulos de destaque. A hierarquia de elevação vem inteiramente do contraste de cor e da estrutura do layout, sem sombras. O layout usa um contêiner com largura máxima de 90rem e um espaçamento de grade de 1,5rem no desktop, além de um token de border-radius consistente de 8px aplicado aos elementos interativos. O fundo off-white (#fffefb) traz calor em contraste com o texto #111111, criando uma experiência de leitura acessível e de alto contraste.

A página inicial de marketing da Notion combina uma seção de destaque em azul-marinho profundo (#02093a) com um corpo de página claro (#f6f5f4), usando uma tipografia personalizada (NotionInter) em todos os papéis de texto. O design emprega uma grade de 12 colunas com calhas de 28px, uma linguagem de dupla curvatura (8px para cards, 9999px para pills) e um sistema de sombras progressivas em múltiplas camadas para elementos flutuantes. O azul da marca (#2537b1) conduz os CTAs e os destaques de acento, enquanto uma escala de cinzas semânticos (de gray-200 a gray-900) estrutura toda a hierarquia de texto e superfícies.

O sistema de design da Railway é uma interface de plataforma para desenvolvedores com tema escuro por padrão, ancorada em superfícies azul-marinho quase preto profundo (#13111c, #0b0b0f), texto off-white de alto contraste (#f7f7f8) e um distintivo tom roxo de destaque da marca (#853bce / #553f83). O hero usa IBM Plex Serif para dar peso editorial, enquanto a Inter cuida de todo o texto da interface e JetBrains Mono / SF Mono são usadas em contextos de código. A elevação é obtida por bordas internas com brilho branco (rgba(255,255,255,0.2) 1.5px inset) em vez de sombras projetadas, o que dá à interface uma estética de painéis de vidro. O sistema de espaçamento é baseado em múltiplos de 4px, com um ritmo marcante de 8/12/16/24/32. Os raios de borda são discretos (4px predominante), com 8px e 16px usados seletivamente em cards e contêineres do hero.

O homepage de marketing da Shopify usa um hero dramático em vídeo de tela cheia, com fundo quase preto (#02090a), que contrasta fortemente com a barra de navegação branca logo acima. A cor de destaque principal é um verde-menta vibrante (#36f4a4), usado com moderação em realces e estados interativos. A tipografia se divide entre NeueHaasGrotesk, para títulos de display e editoriais, e Inter-Variable, para o texto de corpo da interface. Os CTAs usam formatos de pílula totalmente arredondados (border-radius: 9999px). O sistema como um todo é confiante, de alto contraste e aspiracional, pensado para converter visitantes em lojistas.

A página inicial de marketing da Stripe usa um sistema de design rigorosamente controlado (HDS — Stripe Design System), construído em torno da fonte variável "sohne-var" em pesos leves (300–400), uma paleta de marca que vai do azul-marinho profundo ao índigo, ancorada por #533afd (Stripe Indigo), e um hero com gradiente espectral de largura total, característico da marca. Os componentes têm raio baixo (4–6px), sombras planas ou mínimas e se organizam em uma grade de espaçamento base de 8px. O tom geral é autoritário, mas acessível: infraestrutura financeira comunicada por meio de uma tipografia segura e um uso contido da cor.