<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": "/"
        }
      ]
    }
  }
}
  • Content:
    /* ------------------------------------ *\
      $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;
          }
        }
      }
    }
  • URL: /components/raw/page-lead/page-lead.scss
  • Filesystem Path: components/03-organisms/sections/page-lead/page-lead.scss
  • Size: 5.7 KB

No notes defined.