CSS Grid vertical center

This is vertically and horizontally centered.

HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>CSS Grids - vertical centering</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<header>
<img src="https://dummyimage.com/1400x150" alt="banner placeholder">
<nav>
<a href="#">HOME</a> | <a href="#">CONTACT</a> | <a href="#">ABOUT</a> | <a href="#">OTHER</a>
</nav>
</header>

<main>
<h3>Welcome to CSS Grids!</h3>
<p>I'm vertically &amp; horizontally centered.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur nostrum similique, dolores enim quam provident, deserunt tempora molestias. Nisi laboriosam quam dolor, officia magni error? Sint nihil dolore debitis doloremque</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur nostrum similique, dolores enim quam provident, deserunt tempora molestias. Nisi laboriosam quam dolor, officia magni error? Sint nihil dolore debitis doloremque</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur nostrum similique, dolores enim quam provident, deserunt tempora molestias. Nisi laboriosam quam dolor, officia magni error? Sint nihil dolore debitis doloremque</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur nostrum similique, dolores enim quam provident, deserunt tempora molestias. Nisi laboriosam quam dolor, officia magni error? Sint nihil dolore debitis doloremque</p>
</main>
<footer>
<small>© 2022 all rights reserved. XYZ Website</small>
</footer>
</body>
</html>

CSS

body, html {
margin: 0;
height: 100%;
display: grid;
color: white;
text-align: center;
background: #333 url(https://placeimg.com/1200/900/nature) no-repeat center center;
background-size: cover;
}
header {
background-color: rgba(1, 1, 1, 0.8);
height: 100%;
}
header img {
width: 100%;
}

nav a {
text-decoration: none;
color: goldenrod;
font-weight: bold;
}

nav a:hover, 
nav a:active, 
nav a:focus {
color: antiquewhite;
}

main {
padding: 2%;
max-width: 80%;
margin: auto;
background-color: rgba(255, 255, 255, 0.7);
color: #222;
}