body > div > * { width: 50%; display: inline-block; text-align: center; overflow: hidden; margin: 0; line-height: initial; font-size: 225%; font-size: min(3.6vw,225%); position: relative; vertical-align: text-top; } body > div > span > * { padding: 0px 10px; } h1 { font-size: 2em; } h2, h3 { font-weight: normal; font-size: 120%; } p { font-size: 80%; } @font-face { font-family: 'Glacial'; src: url("./glacr.otf"); } @font-face { font-family: 'Glacial'; font-weight: bold; src: url("./glacb.otf"); } body { background-color: blue; background-image: url(mountains.jpg), linear-gradient(#eff,#cff); background-size: cover; background-repeat: no-repeat; min-height: 100vh; min-height: calc(var(--vh, 1vh) * 100); /* fix for mobile Safari disobedience of web standards, with JS */ margin: 0 auto; line-height: 0px; max-width: 1000px; display: flex; flex-direction: column; font-family: 'Glacial', sans-serif; } body > div { flex: 1; } footer { font-size: .9rem; line-height: .9rem; width: 100%; text-align: center; } body > div, footer { background-color: rgba(255,255,255,25%); } a, a:visited { color: navy; } a:hover { text-decoration: none; }