<div class="efl-bundle-card ">
<div class="efl-bundle-card__gallery">
<img src="/assets/example-content/bundle-recommendation/bundle-img.svg" class="placeholder-img">
<div class="placeholder-img--1"></div>
<div class="placeholder-img--2"></div>
</div>
<div class="efl-bundle-card__info">
<div class="title">Bundle name</div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer tortor eratLorem ipsum dolor sit amet, consectetur adipiscing elit. Integer efficitur velit non mi.</p>
<div class="efl-bundle-card__award-details">
<div class="efl-bundle-card__trophy">
<img src="/assets/example-content/bundle-recommendation/efl-bundle-trophy.svg" alt="">
<p>1 - Trophy awarded</p>
</div>
<div class="efl-bundle-card__time-quiz mob-hide">
<p class="mins">20 - Minutes</p>
<p class="quiz">5 - Quizzes</p>
</div>
<div class="efl-bundle-card__time-quiz desktop-hide">
<p class="mins">20 - Mins</p>
<p class="quiz">5 - Quiz</p>
</div>
</div>
<div class="efl-bundle-card__view-bundles">
<a href="#" class="cta cta--efl" id="view-bundle-button" title="View Bundle of Bundle name" tabindex="0">view
bundle</a>
</div>
</div>
</div>
No notes defined.
{
"name": "Bundle name",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer tortor eratLorem ipsum dolor sit amet, consectetur adipiscing elit. Integer efficitur velit non mi.",
"view-bundle": {
"href": "#",
"copy": "view bundle",
"id": "view-bundle-button"
}
}
.efl-bundle-card {
background: $white;
border-radius: 0.8rem;
width: 100%;
padding: 2.4rem;
margin-bottom: 2.4rem;
&__gallery {
position: relative;
width: 100%;
max-width: 62.5rem;
height: 17rem;
object-fit: cover;
object-position: center;
background-size: cover;
margin: 0 auto;
.placeholder-img {
position: absolute;
width: calc(100% - 2rem);
max-width: 60.5rem;
height: 15rem;
border: 0.2rem solid $blue;
border-radius: 0.4rem;
background: url(./assets/images/new-card-placeholder-ef.jpg) no-repeat
center;
background-size: cover;
object-fit: cover;
z-index: 2;
&--1 {
content: '';
background: url('./assets/example-content/bundle-recommendation/bundle-img-placeholder-1.jpg')
no-repeat;
background-position: center;
background-size: cover;
object-fit: cover;
width: 100%;
width: calc(100% - 2rem);
height: 15rem;
display: flex;
position: absolute;
left: 1rem;
bottom: 1rem;
z-index: 1;
border: 0.2rem solid $blue;
border-radius: 0.4rem;
}
&--2 {
content: '';
background: url('./assets/example-content/bundle-recommendation/bundle-img-placeholder-2.jpg')
no-repeat;
background-position: center;
background-size: cover;
object-fit: cover;
width: 100%;
width: calc(100% - 1.8rem);
height: 15rem;
display: flex;
position: absolute;
left: 1.8rem;
bottom: 0;
z-index: 0;
border: 0.2rem solid $blue;
border-radius: 0.4rem;
}
}
}
&__info {
max-width: 62.5rem;
margin: 0 auto;
.title {
@extend .efl-heading-2;
color: $blue;
margin-top: 1.6rem;
}
& > p {
@extend .efl-p-medium;
letter-spacing: 0.02em;
color: $color-interface-light;
margin-top: 0.8rem;
}
}
&__award-details {
display: flex;
justify-content: center;
align-items: center;
background: $grey-light;
border-radius: 0.4rem;
padding: 2.1rem;
margin-top: 1.6rem;
}
&__trophy {
display: flex;
justify-content: center;
align-items: center;
column-gap: 1rem;
img {
width: 5rem;
height: 5rem;
}
p {
@extend .efl-p-small;
display: flex;
color: $color-interface-light;
letter-spacing: -0.01em;
max-width: 7rem;
&::after {
content: '';
width: 0.1rem;
height: 5.1rem;
background: rgba(91, 104, 133, 0.3);
margin-left: 1.4rem;
}
}
}
&__time-quiz {
display: flex;
justify-content: center;
align-items: flex-start;
flex-direction: column;
row-gap: 1rem;
margin-left: 1.9rem;
&.mob-hide {
display: none;
}
.mins {
@extend .efl-p-small;
color: $color-interface-light;
letter-spacing: -0.01em;
display: flex;
&::before {
content: '';
background-image: url('/assets/example-content/bundle-recommendation/bundle-time.svg');
width: 1.8rem;
height: 2.1rem;
background-size: contain;
background-repeat: no-repeat;
display: inline-block;
margin-right: 1.2rem;
}
}
.quiz {
@extend .efl-p-small;
color: $color-interface-light;
letter-spacing: -0.01em;
display: flex;
&::before {
content: '';
background-image: url('/assets/example-content/bundle-recommendation/bundle-quiz.svg');
width: 1.8rem;
height: 2.1rem;
background-size: contain;
background-repeat: no-repeat;
display: inline-block;
margin-right: 1.2rem;
}
}
}
&__view-bundles {
margin-top: 1.6rem;
& > a {
font-weight: 500;
color: white !important;
text-decoration: none !important;
max-width: 62.5rem;
height: 5.2rem;
}
}
&--completed {
position: relative;
&::before {
content: '';
background-image: url('/assets/example-content/bundle-recommendation/bundle-completed-sign.svg');
width: 7.2rem;
height: 7.2rem;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
top: 6.3rem;
left: 0;
right: 0;
margin: auto;
z-index: 5;
}
.efl-bundle-card__gallery {
&::before {
content: '';
width: calc(100% - 20px);
height: calc(100% - 20px);
display: flex;
position: absolute;
top: 0;
left: 0;
background-color: #b7c5e9;
z-index: 3;
opacity: 0.5;
border-radius: 0.4rem;
border: 0.2rem solid $blue;
}
.placeholder-img {
filter: grayscale(1);
&::before {
content: '';
background-color: #b7c5e9;
width: 100%;
height: 100%;
display: flex;
position: absolute;
z-index: 4;
opacity: 0.5;
}
&--1,
&--2 {
&::before {
content: '';
background-color: #b7c5e9;
width: 100%;
height: 100%;
display: flex;
position: absolute;
z-index: 4;
opacity: 0.9;
}
}
}
&::after {
content: '';
position: absolute;
max-width: 62.5rem;
height: 17rem;
background-color: #303e64;
top: 0;
right: 2rem;
}
}
.efl-bundle-card__info .title {
color: $color-interface-light;
text-decoration-line: line-through;
}
.efl-bundle-card__info > p {
color: $light-blue;
text-decoration-line: line-through;
}
.efl-bundle-card__view-bundles > a {
background-color: $color-interface-light;
}
}
@media screen and (min-width: $mq-medium) {
max-width: 70.5rem;
padding: 4rem;
margin-bottom: 3.2rem;
&__gallery {
height: 19.6rem;
.placeholder-img {
height: 17.6rem;
&--1,
&--2 {
height: 17.6rem;
}
}
}
&__info {
.title {
margin-top: 2.4rem;
}
p {
letter-spacing: 0;
font-size: 2rem;
line-height: 3.2rem;
}
}
&__award-details {
margin-top: 2.4rem;
}
&__view-bundles {
margin-top: 2.4rem;
}
&--completed {
&::before {
top: 9.1rem;
}
}
}
@media screen and (max-width: $mq-small) {
&__award-details {
padding: 2.1rem 1rem;
}
}
@media screen and (min-width: 700px) {
&__trophy {
img {
width: 4.4rem;
height: 4.4rem;
}
p {
font-size: 1.8rem;
letter-spacing: 0.02em;
max-width: none;
align-items: center;
&::after {
height: 3rem;
margin-left: 2.4rem;
}
}
}
&__time-quiz {
flex-direction: row;
align-items: center;
margin-left: 2.4rem;
&.mob-hide {
display: flex;
}
&.desktop-hide {
display: none;
}
.mins {
font-size: 1.8rem;
letter-spacing: 0.02em;
align-items: center;
&::before {
width: 2rem;
height: 2.2rem;
}
&::after {
content: '';
width: 0.1rem;
height: 3rem;
background: rgba(91, 104, 133, 0.3);
margin-left: 2.4rem;
}
}
.quiz {
align-items: center;
font-size: 1.8rem;
letter-spacing: 0.02em;
margin-left: 2.4rem;
&::before {
width: 2rem;
height: 2.3rem;
}
}
}
}
}
<div class="efl-bundle-card {{#if modifier}}efl-bundle-card--{{modifier}}{{/if}}">
<div class="efl-bundle-card__gallery">
<img src="/assets/example-content/bundle-recommendation/bundle-img.svg" class="placeholder-img">
<div class="placeholder-img--1"></div>
<div class="placeholder-img--2"></div>
</div>
<div class="efl-bundle-card__info">
<div class="title">{{name}}</div>
<p>{{description}}</p>
<div class="efl-bundle-card__award-details">
<div class="efl-bundle-card__trophy">
<img src="/assets/example-content/bundle-recommendation/efl-bundle-trophy.svg" alt="">
<p>1 - Trophy awarded</p>
</div>
<div class="efl-bundle-card__time-quiz mob-hide">
<p class="mins">20 - Minutes</p>
<p class="quiz">5 - Quizzes</p>
</div>
<div class="efl-bundle-card__time-quiz desktop-hide">
<p class="mins">20 - Mins</p>
<p class="quiz">5 - Quiz</p>
</div>
</div>
<div class="efl-bundle-card__view-bundles">
<a href="#" class="cta cta--efl" id="view-bundle-button" title="View Bundle of {{name}}" tabindex="0">view
bundle</a>
</div>
</div>
</div>