Use an inline style on the <img>
element to add a focal point to your responsive image, to stop subjects from being cropped on resize.
eg. style="object-position: 60% 20%"
would indicate the focal point is approximately 60% along the x-axis from the left, and 20% down the y-axis from the top.
Use srcset
to serve smaller images to smaller screens, this is right at the top of the page, and will affect performance.
<article class="masthead-home" aria-label="Welcome to your place of possibility">
<div class="wrap">
<div class="masthead-home__hero">
<img class="masthead-home__img" src="../../images/masthead-home.jpg" alt="" />
<img class="masthead-home__mobile" src="../../images/masthead-home-mobile.jpg" alt="" />
<div class="masthead-home__story">
<div class="masthead-home__title title title--bg-dark-blue">
<h1 class="title__highlight">Welcome to your place of possibility</h1>
</div>
<div class="masthead-home__subtitle title--bg-white">
<p class="title__highlight h5">Join us on campus on Saturday 30 November to discover next-level teaching within an uplifting, inclusive community.</p>
</div>
<a href="" class="button button--neon">
Book undergraduate
</a>
<a href="" class="button button--digital-blue">
Book postgraduate
</a>
</div>
</div>
</div>
</article>
<hr />
<article class="masthead-home masthead-home--dark-blue-with-red" aria-label="Welcome to your place of possibility">
<div class="wrap">
<div class="masthead-home__hero">
<img class="masthead-home__img" src="../../images/masthead-home.jpg" alt="" />
<img class="masthead-home__mobile" src="../../images/masthead-home-mobile.jpg" alt="" />
<div class="masthead-home__story">
<div class="masthead-home__title title title--bg-dark-blue">
<h1 class="title__highlight">Welcome to your place of possibility</h1>
</div>
<div class="masthead-home__subtitle title--bg-white">
<p class="title__highlight h5">Join us on campus on Saturday 30 November to discover next-level teaching within an uplifting, inclusive community.</p>
</div>
<a href="" class="button button--neon">
Book undergraduate
</a>
<a href="" class="button button--digital-blue">
Book postgraduate
</a>
</div>
</div>
</div>
</article>
<hr />
<article class="masthead-home masthead-home--dark-blue-with-neon" aria-label="Welcome to your place of possibility">
<div class="wrap">
<div class="masthead-home__hero">
<img class="masthead-home__img" src="../../images/masthead-home.jpg" alt="" />
<img class="masthead-home__mobile" src="../../images/masthead-home-mobile.jpg" alt="" />
<div class="masthead-home__story">
<div class="masthead-home__title title title--bg-dark-blue">
<h1 class="title__highlight">Welcome to your place of possibility</h1>
</div>
<div class="masthead-home__subtitle title--bg-white">
<p class="title__highlight h5">Join us on campus on Saturday 30 November to discover next-level teaching within an uplifting, inclusive community.</p>
</div>
<a href="" class="button button--neon">
Book undergraduate
</a>
<a href="" class="button button--digital-blue">
Book postgraduate
</a>
</div>
</div>
</div>
</article>
<hr />
<article class="masthead-home masthead-home--neon-with-dark-blue" aria-label="Welcome to your place of possibility">
<div class="wrap">
<div class="masthead-home__hero">
<img class="masthead-home__img" src="../../images/masthead-home.jpg" alt="" />
<img class="masthead-home__mobile" src="../../images/masthead-home-mobile.jpg" alt="" />
<div class="masthead-home__story">
<div class="masthead-home__title title title--bg-dark-blue">
<h1 class="title__highlight">Welcome to your place of possibility</h1>
</div>
<div class="masthead-home__subtitle title--bg-white">
<p class="title__highlight h5">Join us on campus on Saturday 30 November to discover next-level teaching within an uplifting, inclusive community.</p>
</div>
<a href="" class="button button--neon">
Book undergraduate
</a>
<a href="" class="button button--digital-blue">
Book postgraduate
</a>
</div>
</div>
</div>
</article>
<article class="masthead-home" aria-label="Welcome to your place of possibility">
<div class="wrap">
<div class="masthead-home__hero">
<img class="masthead-home__img" src="{{ ('/images/masthead-home.jpg') | path }}" alt="" />
<img class="masthead-home__mobile" src="{{ ('/images/masthead-home-mobile.jpg') | path }}" alt="" />
<div class="masthead-home__story">
<div class="masthead-home__title title title--bg-dark-blue">
<h1 class="title__highlight">Welcome to your place of possibility</h1>
</div>
<div class="masthead-home__subtitle title--bg-white">
<p class="title__highlight h5">Join us on campus on Saturday 30 November to discover next-level teaching within an uplifting, inclusive community.</p>
</div>
<a href="" class="button button--neon">
Book undergraduate
</a>
<a href="" class="button button--digital-blue">
Book postgraduate
</a>
</div>
</div>
</div>
</article>
<hr />
<article class="masthead-home masthead-home--dark-blue-with-red" aria-label="Welcome to your place of possibility">
<div class="wrap">
<div class="masthead-home__hero">
<img class="masthead-home__img" src="{{ ('/images/masthead-home.jpg') | path }}" alt="" />
<img class="masthead-home__mobile" src="{{ ('/images/masthead-home-mobile.jpg') | path }}" alt="" />
<div class="masthead-home__story">
<div class="masthead-home__title title title--bg-dark-blue">
<h1 class="title__highlight">Welcome to your place of possibility</h1>
</div>
<div class="masthead-home__subtitle title--bg-white">
<p class="title__highlight h5">Join us on campus on Saturday 30 November to discover next-level teaching within an uplifting, inclusive community.</p>
</div>
<a href="" class="button button--neon">
Book undergraduate
</a>
<a href="" class="button button--digital-blue">
Book postgraduate
</a>
</div>
</div>
</div>
</article>
<hr />
<article class="masthead-home masthead-home--dark-blue-with-neon" aria-label="Welcome to your place of possibility">
<div class="wrap">
<div class="masthead-home__hero">
<img class="masthead-home__img" src="{{ ('/images/masthead-home.jpg') | path }}" alt="" />
<img class="masthead-home__mobile" src="{{ ('/images/masthead-home-mobile.jpg') | path }}" alt="" />
<div class="masthead-home__story">
<div class="masthead-home__title title title--bg-dark-blue">
<h1 class="title__highlight">Welcome to your place of possibility</h1>
</div>
<div class="masthead-home__subtitle title--bg-white">
<p class="title__highlight h5">Join us on campus on Saturday 30 November to discover next-level teaching within an uplifting, inclusive community.</p>
</div>
<a href="" class="button button--neon">
Book undergraduate
</a>
<a href="" class="button button--digital-blue">
Book postgraduate
</a>
</div>
</div>
</div>
</article>
<hr />
<article class="masthead-home masthead-home--neon-with-dark-blue" aria-label="Welcome to your place of possibility">
<div class="wrap">
<div class="masthead-home__hero">
<img class="masthead-home__img" src="{{ ('/images/masthead-home.jpg') | path }}" alt="" />
<img class="masthead-home__mobile" src="{{ ('/images/masthead-home-mobile.jpg') | path }}" alt="" />
<div class="masthead-home__story">
<div class="masthead-home__title title title--bg-dark-blue">
<h1 class="title__highlight">Welcome to your place of possibility</h1>
</div>
<div class="masthead-home__subtitle title--bg-white">
<p class="title__highlight h5">Join us on campus on Saturday 30 November to discover next-level teaching within an uplifting, inclusive community.</p>
</div>
<a href="" class="button button--neon">
Book undergraduate
</a>
<a href="" class="button button--digital-blue">
Book postgraduate
</a>
</div>
</div>
</div>
</article>
.masthead {
$overlay-breakpoint: $third-breakpoint + 10rem;
background-color: $dark-blue;//$offwhite;
box-sizing: border-box;
position: relative;
&--burgundy {
background-color: $burgundy;
}
&--grey {
background-color: $grey-50-pc;
& .title {
color: $dark-blue!important;
}
}
@media (min-width: map_get($breakpoint-stages, 'tablet-wide')) {
&__img {
margin-bottom: -$spacing-3xl;
}
}
& .title {
color: white;
max-width: 30rem;
}
&__overlay {
align-self: flex-end;
align-content: flex-end;
width: 100%;
padding: $spacing-lg 0 0;
box-sizing: border-box;
background: black;
color: white;
z-index: 1;
@media (min-width: $overlay-breakpoint) {
background: none;
padding: 0;
margin-bottom: $spacing-lg;
&Inner {
margin: 0 -#{$grid-gutter};
padding: $spacing-lg $grid-gutter 0;
background: rgba(black, 0.75);
@supports (backdrop-filter: blur(1em)) {
background: rgba(black, 0.6);
/*min-height: 340px;*/
}
backdrop-filter: blur(1em);
& .meta--inline dd::before {
display: none;
}
}
}
}
.wrap {
position: relative;
align-self: flex-end;
z-index: 0;
}
&--shallow {
background: $grey-50-pc url('../images/masthead-shallow-bg.svg') no-repeat;
background-size: cover;
& .title {
color: $dark-blue;
}
.masthead__inner {
min-height: 20vh;
padding-top: 8rem;
}
}
&--course {
background: $dark-blue;
color: white;
& .title {
color: $neon;
padding-left: 0;
}
}
&__award-type {
color: white;
}
&__ucas-code strong {
color: $neon;
margin-right: $spacing-md;
}
&__course-info {
display: flex;
}
@media (max-width: map_get($breakpoint-stages, 'tablet')) {
&__course-info {
flex-direction:column-reverse;
}
&__course-hero {
margin-left: -$spacing-xl;
margin-right: -$spacing-xl;
}
}
@media (min-width: map_get($breakpoint-stages, 'tablet')) {
&__course-info {
& > div {
width: 50%;
}
& img {
height: 100%;
position: absolute;
max-width: none;
z-index: -1;
@media(max-width: map_get($breakpoint-stages, 'tablet-wide')) {
left: 40%;
}
@media(max-width: map_get($breakpoint-stages, 'desktop')) {
left: 35%;
}
@media(max-width: map_get($breakpoint-stages, 'desktop-wide')) {
left: 25%;
}
&.narrow-aspect {
left: 50%;
}
}
}
}
&__course-options {
background: $dark-blue;
padding-right: $spacing-xl;
& label {
margin: $spacing-lg 0 $spacing-sm;
}
& .title {
margin: $spacing-2xl 0 0 0;
}
& select.one-item {
background: white;
}
}
@media (max-width: map_get($breakpoint-stages, 'mobile-wide')) {
&--profile {
.masthead__inner {
padding: $spacing-6xl 0 $spacing-xl;
figure {
margin: 2rem 0 2rem;
}
}
}
}
&__inner {
display: flex;
flex-wrap: wrap;
min-height: 35vmin;
padding: 12rem 0 $spacing-xl;
align-self: flex-end;
align-content: flex-end;
width: 100%;
position: relative;
box-sizing: border-box;
@media (min-width: $overlay-breakpoint) {
position: static;
}
}
&__bg {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 0;
overflow: hidden;
img {
@supports (object-fit: cover) {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
height: 100%;
width: 100%;
object-fit: cover;
object-position: 60% 35%; // we're going to assume the image's focal point is roughly slightly-above-center right, but specify this as an inline style for each image
}
}
}
// CG: For home page masthead
&-home {
position: relative;
background: $red url('../images/bg-knot-whole-blue.svg') center center no-repeat;
background-size: 120%;
background-repeat: no-repeat;
min-height: 400px;
@media (max-width: map_get($breakpoint-stages, 'mobile-wide')) {
min-height: 500px;
}
&--dark-blue-with-red {
background: $dark-blue url('../images/bg-knot-whole-red.svg') center center no-repeat;
background-size: 120%;
background-repeat: no-repeat;
}
&--dark-blue-with-neon {
background: $dark-blue url('../images/bg-knot-whole-neon.svg') center center no-repeat;
background-size: 120%;
background-repeat: no-repeat;
}
&--neon-with-dark-blue {
background: $neon url('../images/bg-knot-whole-blue.svg') center center no-repeat;
background-size: 120%;
background-repeat: no-repeat;
}
&__hero {
padding-top: $spacing-lg;
padding-bottom: $spacing-lg;
overflow: hidden;
& > img {
padding-left: 25%;
float: right;
}
}
@media (max-width: map_get($breakpoint-stages, 'mobile-wide')) {
.masthead-home__img {
display: none;
}
.masthead-home__mobile {
display: block;
}
}
@media (min-width: map_get($breakpoint-stages, 'mobile-wide')) {
.masthead-home__img {
display: block;
}
.masthead-home__mobile {
display: none;
}
}
&__title.title {
max-width: 30rem!important;
@media (max-width: map_get($breakpoint-stages, 'mobile-wide')) {
& h1 {
font-size: 1.75rem;
}
}
& > h1 {
font-weight: 800;
}
}
&__subtitle {
max-width: 50rem!important;
@media (max-width: map_get($breakpoint-stages, 'mobile-wide')) {
margin-top: 10rem;
}
margin-bottom: $spacing-xl;
}
&__story {
position: absolute;
@media (max-width: map_get($breakpoint-stages, 'mobile-wide')) {
top: $spacing-md;
}
z-index: 3;
bottom: $spacing-md;
margin-right: $spacing-lg;
}
}
}
.masthead--with-image {
& .masthead__inner {
padding: 2rem 0 $spacing-xl;
}
& h1 {
margin-top: 8rem;
}
}
.card {
& a.masthead__school-link {
color: white;
border-bottom: 1px solid white!important;
&:hover {
border-bottom: none!important;
text-decoration: none;
}
}
}