No notes defined.
<div class="ds2-banner ds2-banner--{{ layout }} ds2-banner--{{ colourTheme }}">
{% for heroImage in heroImages %}
{% if layout == 'image-then-content' or layout == 'content-then-image' %}
<div class="ds2-banner__single" style='background-image: url("{{ heroImage.img.src }}");'></div>
{% endif %}
{% if layout == 'FullBannerOverlay' %}
<div class="ds2-banner__single" style='background-image: linear-gradient(rgba(0, 0, 0,{{ opacity }}), rgba(0, 0, 0, {{ opacity }})), url("{{ heroImage.img.src }}"); width: {{100 / heroImages.length}}%'></div>
{% endif %}
{% if layout == 'ContentBlockOverlay' %}
<div class="ds2-banner__single" style='background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url("{{ heroImage.img.src }}"); width: {{100 / heroImages.length}}%'></div>
{% endif %}
{% endfor %}
<div class="ds2-banner__content">
{% render '@ds2-content-block', bannerContent %}
</div>
</div>
<div class="ds2-banner ds2-banner--image-then-content ds2-banner--cream">
<div class="ds2-banner__single" style='background-image: url("/placeholders/ds2/heroFullWidth/Web-36331.jpg");'></div>
<div class="ds2-banner__content">
<div class="ds2ContentBlock">
<div class="preheading">Welcome to</div>
<h2>University of Leeds</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p>
<div class="inlineButtons">
<div class="ds2BrandButton">
Explore our courses
</div>
<div class="ds2BrandButton">
Visit us
</div>
</div>
</div>
</div>
</div>
.ds2-banner {
--ds2-bannerSpacing: 48px;
--ds2-bannerMinHeight: 500px;
--ds2ContentMaxWidth: 1500px;
--ds2ImageContentImageMaxSize: 40%; // need to make this percentage configurable for different use cases
background-position: center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
display: flex;
width: 100%;
color: white;
display: flex;
justify-content: center;
position: relative;
width: 100%;
min-height: var(--ds2-bannerMinHeight);
.ds2-banner__single {
display: flex;
width: 100%;
align-items: center;
background-position: 50%;
background-repeat: no-repeat;
background-size: cover;
position: relative;
}
.ds2-banner__content {
// width: calc(100% - 2 * var(--ds2-bannerSpacing));
max-width: calc(var(--ds2ContentMaxWidth) - 2 * var(--ds2-bannerSpacing));
margin: 0 var(--ds2-bannerSpacing);
margin: 0;
position: absolute;
place-self: center;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
.ds2ContentBlockUolLogo svg {
fill: white;
}
}
}
// variant with image to left and content to left
.ds2-banner--image-then-content {
.ds2-banner__single {
width: var(--ds2ImageContentImageMaxSize);
height: 100%;
position: absolute;
left: 0;
}
.ds2-banner__content {
position: relative;
width: calc(100% - var(--ds2ImageContentImageMaxSize) - 2 * var(--ds2-bannerSpacing));
* {
max-width: calc(1440px / 2 - 2 * var(--ds2-bannerSpacing));
}
padding: var(--ds2-bannerSpacing);
padding-left: calc(var(--ds2ImageContentImageMaxSize) + var(--ds2-bannerSpacing));
}
.ds2-bannerNavContainer {
left: calc(var(--ds2ImageContentImageMaxSize) - 100px - var(--ds2-bannerSpacing));
}
}
// variant with image to right and content to left
.ds2-banner--content-then-image {
--ds2ImageContentImageMaxSize: 50%;
.ds2-banner__single {
width: var(--ds2ImageContentImageMaxSize);
height: 100%;
position: absolute;
right: 0;
}
.ds2-banner__content {
// background: grey;
position: absolute;
width: calc(var(--ds2ImageContentImageMaxSize) - 2 * var(--ds2-bannerSpacing));
max-width: calc(1440px / 2 - 2 * var(--ds2-bannerSpacing));
// padding: var(--ds2-bannerSpacing);
right: calc(50% + var(--ds2-bannerSpacing));
}
.ds2-bannerNavContainer {
left: calc(var(--ds2ImageContentImageMaxSize) - 100px - var(--ds2-bannerSpacing));
}
}
// Colours
.ds2-banner--overlay {
.ds2BrandButton {
background: $color-brand-white;
color: $color-brand-black;
border: 1px solid $color-brand-white;
}
.ds2BrandButton:first-of-type {
border: 1px solid $color-blue;
background: $color-blue;
color: $color-brand-white;
}
}
.ds2-banner--cream {
background-color: rgba($color-brand-cream, 0.4);
color: $color-brand-black;
svg {
fill: $color-brand-black;
}
.ds2BrandButton {
background-color: rgba($color-brand-cream, 0);
color: $color-brand-black;
border: 1px solid $color-brand-black;
}
.ds2BrandButton:first-of-type {
border: 1px solid $color-brand-black;
background: $color-brand-black;
color: $color-brand-white;
}
}
.ds2-banner--Teal {
background: $color-brand-teal;
color: $color-brand-black;
svg {
fill: $color-brand-black;
}
.ds2BrandButton {
background: $color-brand-teal;
color: $color-brand-black;
border: 1px solid $color-brand-black;
}
.ds2BrandButton:first-of-type {
border: 1px solid $color-blue;
background: $color-blue;
color: $color-brand-white;
}
}
.ds2-banner--Blue {
background: $color-brand-light-blue;
color: $color-brand-white;
svg {
fill: $color-brand-white;
}
.ds2BrandButton {
background: $color-brand-light-blue;
color: $color-brand-white;
border: 1px solid $color-brand-white;
}
.ds2BrandButton:first-of-type {
background: $color-brand-white;
color: $color-brand-black;
border: 1px solid $color-brand-white;
}
}
.ds2-banner--DarkBlue {
background: $color-blue;
color: $color-brand-white;
svg {
fill: $color-brand-white;
}
.ds2BrandButton {
background: $color-blue;
color: $color-brand-white;
border: 1px solid $color-brand-white;
}
.ds2BrandButton:first-of-type {
border: 1px solid $color-brand-white;
background: $color-brand-white;
color: $color-brand-black;
}
}
.ds2-banner--White {
background: $color-brand-white;
color: $color-brand-black;
svg {
fill: $color-brand-white;
}
.ds2BrandButton {
background: $color-brand-white;
color: $color-brand-black;
border: 1px solid $color-brand-black;
}
.ds2BrandButton:first-of-type {
border: 1px solid $color-blue;
background: $color-blue;
color: $color-brand-white;
}
}
.ds2-banner--VividGreen {
background: $color-brand-vivid-green;
color: $color-brand-black;
svg {
fill: $color-brand-black;
}
.ds2BrandButton {
background: $color-brand-vivid-green;
color: $color-brand-black;
border: 1px solid $color-brand-black;
}
.ds2BrandButton:first-of-type {
border: 1px solid $color-brand-black;
background: $color-brand-black;
color: $color-brand-white;
}
}
.ds2-template-main {
.ds2-banner--image-then-content, .ds2-banner--content-then-image {
--ds2ImageContentImageMaxSize: 50%;
}
}
// variant styles
/*
Default
FullBannerOverlay
Whole background has opacity applied
*/
.ds2-banner--FullBannerOverlay {
background: rgba(0, 0, 0, 0.40);
.ds2-banner__content {
max-width: calc(var(--ds2ContentMaxWidth) - 2 * var(--ds2-bannerSpacing));
margin: 0 var(--ds2-bannerSpacing);
margin: 0;
position: absolute;
place-self: center;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
// left aligns content block
left: var(--ds2-bannerSpacing);
@media all and (min-width: 1500px) {
left: calc((100% - var(--ds2ContentMaxWidth)) / 2);
}
.ds2ContentBlockUolLogo svg {
fill: white;
}
}
}
/*
ContentBlockOverlay
Content on banner is in a floating box to the left
Background has 40% opacity black and blur filter
*/
.ds2-banner--ContentBlockOverlay {
.ds2-banner__content {
max-width: calc(var(--ds2ContentMaxWidth) - 2 * var(--ds2-bannerSpacing));
margin: var(--ds2-bannerSpacing);
position: absolute;
// left aligns content block
left: 0;
@media all and (min-width: 1500px) {
left: calc((100% - var(--ds2ContentMaxWidth)) / 2);
}
// padding around banner height means height needs to be adjusted accordingly
height: calc(100% - 2 * var(--ds2-bannerSpacing));
display: flex;
flex-direction: column;
justify-content: center;
background: rgba(0, 0, 0, 0.40);
backdrop-filter: blur(17.6px);
border-radius: 24px;
padding: 0 var(--ds2-bannerSpacing);
}
}
{
"layout": "image-then-content",
"colourTheme": "cream",
"opacity": 0.5,
"heroImages": [
{
"img": {
"src": "/placeholders/ds2/heroFullWidth/Web-36331.jpg",
"alt": "University campus"
}
}
],
"bannerContent": {
"content": [
{
"preheading": "Welcome to"
},
{
"title": "University of Leeds"
},
{
"paragraph": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. "
},
{
"inlineButtons": [
{
"text": "Explore our courses",
"url": "#"
},
{
"text": "Visit us",
"url": "#"
}
]
}
]
}
}