HTML:
<header class="header">
<div class="text-box">
<h1 class="heading-primary">
<span class="heading-primary-main">Outdoors</span>
<span class="heading-primary-sub">is where life happens</span>
</h1>
</div>
</header>CSS:
The trick here is: first, align the text-box div to top: 40% and left: 50%:
And then, transform the it's position by cutting the offset by -50% both horizonally and vertically.
.text-box {
/* Align in the scope of the image */
position: absolute;
/* The top left point of the div
is shifted by 40 and 50 */
top: 40%;
left: 50%;
/* Move the top left coordinate back by -50% */
transform: translate(-50%, -50%);
}
.heading-primary {
color: #fff;
text-transform: uppercase;
}
.heading-primary-main {
display: block;
font-size: 60px;
font-weight: 400;
letter-spacing: 35px;
}
.heading-primary-sub {
display: block;
font-size: 20px;
font-weight: 700;
letter-spacing: 17.4px;
}
