There are no notes for this item.
<div class="card">
<div class="card__content">
<h3 class="h4 card__title"><a href="#" class="">Card Title (linked)</a></h3>
<p>In addition to the recommendation from your Assessment Centre report:. If you are blind or have a visual impairment we can refer you for specialist support.</p>
<p>Lipsum has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
</div>
</div>
<div class="card">
<div class="card__content">
<h3 class="h4 card__title"><a href="#" class="link--stretched">Card Title (with <code>link--stretched</code>)</a></h3>
<p>This cards has a class of <code>link--stretched</code> on its link so the linked area fills the entire card. <strong>NB: This will not work if using a link inside <code>title__highlight</code> style, as these require relative positioning for reasons.</strong>
<p>Lipsum has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
</div>
</div>
<div class="card">
{% if figureImg %}
<figure class="card__figure">
</figure>
{% endif %}
<div class="card__content">
<h3 class="h4 card__title"><a href="#" class="">Card Title (linked)</a></h3>
<p>In addition to the recommendation from your Assessment Centre report:. If you are blind or have a visual impairment we can refer you for specialist support.</p>
<p>{{ lorem }}</p>
</div>
</div>
<div class="card">
<div class="card__content">
<h3 class="h4 card__title"><a href="#" class="link--stretched">Card Title (with <code>link--stretched</code>)</a></h3>
<p>This cards has a class of <code>link--stretched</code> on its link so the linked area fills the entire card. <strong>NB: This will not work if using a link inside <code>title__highlight</code> style, as these require relative positioning for reasons.</strong>
<p>{{ lorem }}</p>
</div>
</div>
$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;
}
}
}
}