There are no notes for this item.

<div class="title  title--bg-blue-ldn">
    <h1 class="h2 title__highlight">LDN Blue Themed Examples</h1>
</div>

<p>These will be themed for the LDN site, but could theoretically be used in the main theme, this is just testing variations to make sure all accents are accented.</p>

<div class="card  card--flex  card--blue-ldn">
    <figure class="card__figure">
        <img src="https://placeimg.com/720/360" alt="" />
    </figure>

    <div class="card__content">
        <h3 class="h4  card__title"><a href="" class="link--stretched">Enjoying the View? How computer games can help evaluate landscapes</a></h3>
        <p>The founders of an immersive storytelling app have returned to their university stomping ground to film their latest episode.</p>
    </div>
</div>

<div class="card  card--flex  card--blue-ldn" href="">
    <div class="card__content">
        <h3 class="h4  card__title">
            <a href="#" class="link--stretched">Card Title (with <code>link--stretched</code>)</a>
        </h3>
        <p>Example without a figure image</p>

        <dl class="meta--inline">
            <div class="meta__item">
                <dt>Study Options</dt>
                <dd>Full time</dd>
                <dd>Part time</dd>
                <dd>Foundation Year</dd>
                <dd>Placement Year</dd>
                <dd>Integrated Masters (MSci)</dd>
            </div>
            <div class="meta__item">
                <dt>UCAS Code:</dt>
                <dd>l614</dd>
                <dd>l615</dd>
            </div>
        </dl>
        <p>The founders of an immersive storytelling app have returned to their university stomping ground to film their latest episode.</p>
    </div>
</div>

<div class="card  card--flex-overlap  card--blue-ldn">
    <figure class="card__figure">
        <img src="https://placeimg.com/720/360" alt="" />
    </figure>

    <div class="card__content">
        <a href="" class="link--stretched">
            <div class="title">
                <h3 class="h4  title__highlight">Enjoying the View? How computer games can help evaluate landscapes</h3>
            </div>
        </a>
        <p>The founders of an immersive storytelling app have returned to their university stomping ground to film their latest episode.</p>
    </div>
</div>
<div class="title  title--bg-blue-ldn">
  <h1 class="h2 title__highlight">LDN Blue Themed Examples</h1>
</div>

<p>These will be themed for the LDN site, but could theoretically be used in the main theme, this is just testing variations to make sure all accents are accented.</p>

<div class="card  card--flex  card--blue-ldn">
  <figure class="card__figure">
    <img src="https://placeimg.com/720/360" alt=""/>
  </figure>

  <div class="card__content">
    <h3 class="h4  card__title"><a href="" class="link--stretched">{{ placeholderHeadline2 }}</a></h3>
    <p>{{ placeholderPara1 }}</p>
  </div>
</div>

<div class="card  card--flex  card--blue-ldn" href="">
  <div class="card__content">
    <h3 class="h4  card__title">
      <a href="#" class="link--stretched">Card Title (with <code>link--stretched</code>)</a>
    </h3>
    <p>Example without a figure image</p>

    <dl class="meta--inline">
      <div class="meta__item">
        <dt>Study Options</dt>
        <dd>Full time</dd>
        <dd>Part time</dd>
        <dd>Foundation Year</dd>
        <dd>Placement Year</dd>
        <dd>Integrated Masters (MSci)</dd>
      </div>
      <div class="meta__item">
        <dt>UCAS Code:</dt>
        <dd>l614</dd>
        <dd>l615</dd>
      </div>
    </dl>
    <p>{{ placeholderPara1 }}</p>
  </div>
</div>



<div class="card  card--flex-overlap  card--blue-ldn">
  <figure class="card__figure">
    <img src="https://placeimg.com/720/360" alt=""/>
  </figure>

  <div class="card__content">
    <a href="" class="link--stretched">
      <div class="title">
        <h3 class="h4  title__highlight">{{ placeholderHeadline2 }}</h3>
      </div>
    </a>
    <p>{{ placeholderPara1 }}</p>
  </div>
</div>
  • Content:
    $card__internal-spacing: $spacing-sm;
    
    .card {
      // $theme-colours: see __vars/colours
    
      display: block;
      position: relative;
      --accent-color: #{$primary};
      margin-bottom: $spacing-xl;
      border-left: $border-accent-width solid $primary;
      border-color: var(--accent-color);
      @include clearfix;
    
      a:not(.button) {
        text-decoration: none;
        border-bottom: none;
    
        &:hover {
          text-decoration: underline;
        }
      }
    
      p {
        margin-bottom: $card__internal-spacing;
      }
    
      &__content {
        padding: 0 calc(#{$card__internal-spacing} + 2.5%);
    
        > :first-child {
          margin-top: 0;
        }
    
        > :last-child {
          margin-bottom: 0;
        }
      }
    
      &__title {
        margin-top: 0;
        margin-bottom: $spacing-md;
    
        a {
          color: #{$primary};
          color: var(--accent-color);
        }
      }
    
      &__figure {
        &--video {
          position: relative;
    
          &:after {
            content: '';
            position: absolute;
            width: $spacing-4xl;
            height: $spacing-4xl;
            max-width: 50%;
            max-height: 50%;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: url('#{$image-theme-directory-icon}/icon-play-circle-neutral-light.svg') no-repeat center center;
            background-size: contain;
            z-index: 1;
            pointer-events: none;
          }
        }
      }
    
      //--  Child elements affected by accent colour
    
      .blockquote__title {
        color: var(--accent-color);
      }
    
      .title__highlight {
        --background: var(--accent-color);
      }
    
      .meta--inline-dd,
      .meta--inline {
        dd:before {
          color: var(--accent-color);
        }
      }
    
      //--  ACCENT THEMES
      @each $name, $value in $card-accent-colors {
        &--#{$name} {
          --accent-color: #{$value};
        }
      } 
    
      @each $name, $value in $theme-colours {
        &--#{$name} {
          --accent-color: #{$value};
    
          svg {
              fill: #{$value};
          }
        }
      }
    
      &--light {
        --accent-color: #{rgba(white, 0.5)};
        color: white;
    
        svg {
          fill: white;
        }
    
      }
    }
    
    a.card {
      text-decoration: none;
    
      .card__title {
        color: #{$primary};
        color: var(--accent-color);
      }
    
      &:hover {
        color: $text-color;
    
        .title__highlight,
        .card__title {
          text-decoration: underline;
        }
      }
    }
    
    //--  VARIANTS
    
    .card--flex {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      flex-direction: row-reverse;
    
      .card__figure {
        flex: 1 1 33%;
      }
    
      .card__content {
        flex: 99 1 17.5em;
      }
    }
    
    .card--flex-overlap {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      flex-direction: row-reverse;
      padding-bottom: $spacing-sm;
    
      .card__figure {
        flex: 1 1 33%;
      }
    
      .card__content {
        flex: 99 1 17.5em;
      }
    
      .card__figure {
        margin-bottom: -#{$spacing-sm};
      }
    }
    
    .card--testimonial {
      padding-bottom: $card__internal-spacing;
    }
    
    .card--pullquote {
      padding-bottom: $card__internal-spacing;
      margin-left: 5%;
    
      &:before {
        content: '';
        display: block;
        float: left;
        width: 5%;
        height: 0;
        padding-bottom: 5%;
        margin-left: -5%;
        background: #fff url('#{$image-theme-directory-icon}/icon-quote-primary.svg') no-repeat center center;
        background-size: contain;
      }
    
      // These themes need to be updated 'manually' for now, as we're using an svg,
      // and I can't think of a clever way to update dynamically based on the accent var
      // something using inline SVG use/fill, or a mask?
      // Don't forget to add the SVG to the filesystem!
    
      @each $name, $value in $card-accent-colors {
        &.card--#{$name} {
          &:before {
            background: #fff url('#{$image-theme-directory-icon}/icon-quote-#{$name}.svg') no-repeat center center;
            background-size: contain;
          }
        }
      }
    }
    
    .card--course {
      // this exists, but doesn't need anything specific (yet)
    }
    
    .card--result {
      // this exists, but doesn't need anything specific (yet)
    }
    
    .card--profile {
      // this exists, but doesn't need anything specific (yet)
    }
    
    .card--ksp {
      color: $neutral--primary;
    
      &__icon {
        margin-bottom: $card__internal-spacing;
        max-width: 100%;
        height: auto!important;
    
        img {
          vertical-align: baseline !important; // this is horribly lazy but browsers, sorry
        }
      }
    
      &.card--light {
        color: white;
      }
    }
    
    .card--event {
      margin-left: $spacing-4xl;
    
      .card__figure {
        margin-bottom: -#{$spacing-sm};
      }
    
      .card__date {
        position: absolute;
        top: 0;
        left: -$spacing-4xl;
        width: $spacing-4xl;
        @include typescale('xs');
        padding: $spacing-sm 0;
        color: white;
        background: $primary;
        background: var(--accent-color);
        line-height: 1;
        text-align: center;
        box-sizing: border-box;
      }
    
      .card__day {
        display: block;
        font-weight: 500;
        @include typescale('xl');
    
        @media (min-width: map_get($breakpoint-stages, 'mobile-wide')) {
          @include typescale('3xl');
        }
      }
    
      @media (min-width: (map_get($breakpoint-stages, 'tablet-wide') + 5rem)) {
        margin-left: $spacing-5xl;
    
        .card__date {
          left: -$spacing-5xl;
          width: $spacing-5xl;
        }
    
        .card__day {
          @include typescale('5xl');
        }
      }
    }
    
    .card__video.card__figure {
      @media (max-width: map_get($breakpoint-stages, 'mobile-wide')) {
        padding-bottom: 50%;
        position: relative;
        height: 0;
      }
      & iframe {
        width: 100%;
        height: 100%;
        @media (max-width: map_get($breakpoint-stages, 'mobile-wide')) {
          padding-bottom: 50%;
          position: absolute;
        }
      }
    }
    
    .grid-2-cols\@tablet {
      &  .card__video {
        &.card__figure {
          padding-bottom: 50%;
          position: relative;
          height: 0;
          & iframe {
            position: absolute;
          }
        }
      }
    }
  • URL: /components/raw/card/_cards.scss
  • Filesystem Path: src/components/card/_cards.scss
  • Size: 5.7 KB