<section class="c-page-lead c-page-lead--primary l-wrap l-container--full" data-jump-links="false" data-aspect-ratio="landscape">
<div class="c-page-lead__container l-container" data-grid="grid">
<div class="c-page-lead__breadcrumbs" data-grid="12">
<nav role="navigation" class="c-breadcrumbs">
<span class="c-breadcrumbs__item">
<a class="o-link c-breadcrumbs__link" href="/" target="_self">
<span class="o-link__label">
§Page Title
</span>
</a>
<div class="c-breadcrumbs__divider">
|
</div>
</span>
<span class="c-breadcrumbs__item">
<a class="o-link c-breadcrumbs__link" href="/" target="_self">
<span class="o-link__label">
§Page Title
</span>
</a>
<div class="c-breadcrumbs__divider">
|
</div>
</span>
<span class="c-breadcrumbs__item">
<a class="o-link c-breadcrumbs__link" href="/" target="_self">
<span class="o-link__label">
§Page Title
</span>
</a>
<div class="c-breadcrumbs__divider">
|
</div>
</span>
<span class="c-breadcrumbs__item">
<a class="o-link c-breadcrumbs__link" href="/" target="_self">
<span class="o-link__label">
§Page Title
</span>
</a>
<div class="c-breadcrumbs__divider">
|
</div>
</span>
<span class="c-breadcrumbs__item">
<a class="o-link c-breadcrumbs__link" href="/" target="_self">
<span class="o-link__label">
§Page Title
</span>
</a>
</span>
</nav>
</div>
<div class="c-page-lead__main l-container--lg u-align--left">
<h1 class="o-heading c-page-lead__title">
[Page Heading / Title]
</h1>
<p class="o-body o-body--p1-secondary c-page-lead__intro">
[Page Intro 150 Char]consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</p>
</div>
<div class="c-page-lead__subnav" data-grid="3">
<label for="page_lead__menu" class="c-page-lead__subnav__label">
More in this Section:
</label>
<ul id="page_lead__menu" class="c-page-lead__links">
<li class="c-page-lead__link-item">
<a class="o-link c-page-lead__link" href="/" target="_self">
<span class="o-link__label">
Page Link
</span>
</a>
</li>
<li class="c-page-lead__link-item">
<a class="o-link c-page-lead__link" href="/" target="_self">
<span class="o-link__label">
Page Link
</span>
</a>
</li>
<li class="c-page-lead__link-item">
<a class="o-link c-page-lead__link" href="/" target="_self">
<span class="o-link__label">
Page Link
</span>
</a>
</li>
<li class="c-page-lead__link-item">
<a class="o-link c-page-lead__link" href="/" target="_self">
<span class="o-link__label">
Page Link
</span>
</a>
</li>
<li class="c-page-lead__link-item">
<a class="o-link c-page-lead__link" href="/" target="_self">
<span class="o-link__label">
Page Link
</span>
</a>
</li>
</ul>
</div>
<div class="c-page-lead__image" data-grid="3" data-aspect-ratio="landscape">
<picture class="o-picture c-page-lead__image" data-grid="3">
<source media="(min-width: 480px)" srcset="https://picsum.photos/540/240">
<img class="o-image" loading="lazy" src="https://picsum.photos/540/240" alt="Image" />
</picture>
</div>
</div>
</div>
</section>
{% set base_class = page_lead.base_class|default('c-page-lead') %}
{% if page_lead.label %}
<section class="{{ bem(base_class, page_lead.element, page_lead.modifiers, page_lead.extra) }} l-wrap l-container--full" data-jump-links="{{ page_lead.jump_links ? 'true' : 'false' }}" data-aspect-ratio="{{ page_lead.image.aspect_ratio }}" {{ attributes(page_lead.attributes) }}>
{% if page_lead.background %}
{% include "@background" with {
"background": page_lead.background
} %}
{% endif %}
<div class="{{ bem(base_class, 'container') }} l-container" data-grid="grid">
<div class="{{ bem(base_class, 'breadcrumbs') }}" data-grid="12">
{% render "@breadcrumbs" with page_lead %}
</div>
<div class="{{ bem(base_class, 'main') }} l-container--lg u-align--left">
{% include "@heading" with {
"heading": {
"level": "1",
"text": page_lead.heading_rich_text,
"extra": bem(base_class, 'title')
}
} %}
{% include "@body" with {
"body": {
"text": page_lead.page_intro,
"modifiers": "p1-secondary",
"extra": bem(base_class, 'intro')
}
} %}
</div>
{% if page_lead.subnav and page_lead.modifiers != 'tertiary' %}
<div class="{{ bem(base_class, 'subnav') }}" data-grid="3">
<label for="page_lead__menu" class="{{ bem(base_class, 'subnav__label') }}">
{% if page_lead.subnav.label %}
{{ page_lead.subnav.label }}
{% endif %}
</label>
<ul id="page_lead__menu" class="{{ bem(base_class, 'links') }}">
{% for link in page_lead.subnav.links %}
<li class="{{ bem(base_class, 'link-item') }}">
{% include "@link" with {
"link": {
"text": link.text,
"url": link.url,
"target": link.target,
"extra": bem(base_class, 'link'),
"arrow": false
}
} %}
</li>
{% endfor %}
</ul>
</div>
{% endif %}
{% if page_lead.jump_links and page_lead.modifiers == 'tertiary' %}
<div class="{{ bem(base_class, 'jump-links') }}" data-grid="3">
<label for="page_lead__jump-links" class="{{ bem(base_class, 'jump-links__label') }}">
{% if page_lead.jump_links.label %}
{{ page_lead.jump_links.label }}
{% endif %}
</label>
<ul id="page_lead__jump-links" class="{{ bem(base_class, 'links') }}">
{% for link in page_lead.jump_links.links %}
<li class="{{ bem(base_class, 'link-item') }}">
{% include "@link" with {
"link": {
"text": link.text,
"url": link.url,
"target": link.target,
"extra": bem(base_class, 'jump-link'),
"arrow": false
}
} %}
</li>
{% endfor %}
</ul>
</div>
{% endif %}
{% if page_lead.image and page_lead.modifiers != 'secondary' and page_lead.modifiers != 'tertiary' %}
<div class="{{ bem(base_class, 'image') }}" data-grid="3" data-aspect-ratio="{{ page_lead.image.aspect_ratio }}">
{% include "@responsive-image" with {
"picture": {
"attributes": {
"data-grid": "3"
},
"extra": bem(base_class, 'image')
},
"image": {
"sources": page_lead.image.sources,
"src": page_lead.image.src,
"alt": page_lead.image.alt
}
} %}
</div>
{% endif %}
{% if page_lead.aside and page_lead.modifiers != 'primary' %}
<div class="{{ bem(base_class, 'aside') }}" data-grid="12">
{% include "@aside" with {
"aside": {
"image": page_lead.aside.image,
"heading": page_lead.aside.heading,
"body": page_lead.aside.body,
"action": page_lead.aside.action,
"extra": bem(base_class, 'aside')
}
} %}
</div>
{% endif %}
</div>
</div>
</section>{% endif %}
{
"page_lead": {
"modifiers": "primary",
"label": "Page Lead",
"heading_rich_text": "[Page Heading / Title]",
"page_intro": "[Page Intro 150 Char]consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.",
"image": {
"sources": [
{
"media": "(min-width: 480px)",
"srcset": "https://picsum.photos/540/240"
}
],
"src": "https://picsum.photos/540/240",
"alt": "Image",
"aspect_ratio": "landscape"
},
"subnav": {
"label": "More in this Section:",
"links": [
{
"text": "Page Link",
"url": "/"
},
{
"text": "Page Link",
"url": "/"
},
{
"text": "Page Link",
"url": "/"
},
{
"text": "Page Link",
"url": "/"
},
{
"text": "Page Link",
"url": "/"
}
]
}
}
}
/* ------------------------------------ *\
$SECTION-TEXT
\* ------------------------------------ */
$image-max-width: 27.5rem;
.c-page-lead {
color: var(--ds-color-theme-content-primary);
position: relative;
// @todo: add background image once the asset is delivered.
// background-image: url('/images/textures/dots.svg');
background-position: top left;
background-repeat: no-repeat;
background-size: cover;
padding: var(--ds-space-xxxl) var(--ds-space-md) var(--ds-space-xl);
// Layout
&__breadcrumbs { grid-area: 1 / 1 / 1 / 13; }
&__main { grid-area: 2 / 1 / 2 / 13; }
&__subnav { grid-area: 3 / 1 / 3 / 13; }
&__image {
grid-area: 4 / 1 / 4 / 13;
&[data-aspect-ratio="portrait"],
&[data-aspect-ratio="square"] {
max-width: $image-max-width;
}
&[data-aspect-ratio="portrait"] {
picture, img {
height: 100%;
}
}
}
&[data-jump-links="true"] {
.c-page-lead__jump-links { grid-area: 2 / 1 / 2 / 13; }
.c-page-lead__main { grid-area: 3 / 1 / 3 / 13; }
.c-page-lead__subnav { grid-area: 4 / 1 / 4 / 13; }
.c-page-lead__image { grid-area: 5 / 1 / 5 / 13; }
}
@include media(">large") {
&[data-aspect-ratio="portrait"] {
.c-page-lead__breadcrumbs { grid-area: 1 / 1 / 1 / 9; }
.c-page-lead__main { grid-area: 2 / 1 / 2 / 9; }
.c-page-lead__subnav { grid-area: 3 / 1 / 3 / 9; }
.c-page-lead__image {
position: relative;
grid-area: 1 / 9 / 5 / 13;
picture {
position: absolute;
right: 0;
display: flex;
justify-content: center;
align-items: center;
}
img {
height: 100%;
width: auto;
}
}
}
&[data-aspect-ratio="landscape"],
&[data-aspect-ratio="square"] {
.c-page-lead__breadcrumbs { grid-area: 1 / 1 / 1 / 7; }
.c-page-lead__main { grid-area: 2 / 1 / 2 / 7; }
.c-page-lead__subnav { grid-area: 3 / 1 / 3 / 7; }
.c-page-lead__image {
position: relative;
grid-area: 1 / 7 / 5 / 13;
display: flex;
align-items: center;
picture {
position: absolute;
right: 0;
display: flex;
justify-content: center;
align-items: center;
}
img {
width: 100%;
}
}
}
&[data-aspect-ratio="square"] {
.c-page-lead__image {
grid-area: 1 / 8 / 5 / 13;
}
}
&[data-jump-links="true"] {
.c-page-lead__breadcrumbs { grid-area: 1 / 3 / 1 / 8; }
.c-page-lead__jump-links { grid-area: 1 / 1 / 5 / 3; }
.c-page-lead__main { grid-area: 2 / 3 / 2 / 8; }
}
}
// Styling
&__title {
@extend .o-heading--h1-secondary-bold;
display: inline;
}
&__intro {
@extend .o-heading--h1-secondary;
display: inline;
}
&__container {
padding-top: var(--ds-space);
grid-row-gap: var(--ds-space-xl);
}
&__subnav {
display: flex;
flex-direction: column;
gap: var(--ds-space-xs);
&__label {
@extend .o-caption--secondary-caption1;
margin-bottom: 0;
font-weight: var(--ds-font-weight-light) !important;
}
ul {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: var(--ds-space);
}
li {
display: inline-flex;
}
.o-link {
@extend .o-detail--1;
span:not(.o-icon)::after {
background-color: transparent;
}
}
}
&__image {
picture {
transform: rotate(-2deg);
border-radius: var(--ds-border-radius);
padding: var(--ds-space-md);
padding-top: 0;
margin-top: calc(var(--ds-space-xs) * -1);
@include media(">large") {
margin-top: 0;
}
}
img {
border-radius: var(--ds-border-radius);
}
}
&__body, &__button {
margin-top: var(--ds-space);
}
&__aside {
display: flex;
flex-direction: column;
align-items: end;
}
.c-text-block--aside__link,
.c-page-lead__jump-link {
@extend .o-body--p2-primary;
font-weight: var(--ds-font-weight-regular) !important;
}
.c-page-lead__jump-link {
span:not(.o-icon)::after {
background-color: transparent;
}
}
&--secondary,
&--tertiary {
.c-page-lead__jump-links {
display: flex;
flex-direction: column;
padding: var(--ds-space-xs) 0;
border: solid 2px var(--ds-color-gray-103);
border-width: 2px 0;
label {
@extend .o-heading--h5-secondary-bold;
}
ul {
display: flex;
flex-direction: column;
gap: var(--ds-space-xs);
list-style-type: none;
}
@include media(">large") {
border-width: 0 2px 0 0 ;
}
}
}
&--secondary {
.c-page-lead {
&__title {
@extend .o-heading--h2-secondary-bold;
}
&__intro {
@extend .o-heading--h2-secondary;
font-weight: var(--ds-font-weight-light) !important;
}
}
}
&--tertiary {
.c-page-lead {
&__main {
margin-bottom: var(--ds-space-xxxl);
@include media(">large") {
margin-top: var(--ds-space-xxxl);
}
}
&__container {
padding-top: var(--ds-space);
grid-row-gap: var(--ds-space);
}
&__main {
margin-bottom: 0;
}
&__title {
@extend .o-heading--h3-secondary-bold;
display: inline;
}
&__intro {
@extend .o-heading--h3-secondary;
font-weight: var(--ds-font-weight-light) !important;
display: inline;
}
}
}
}
No notes defined.