:root { --navbar-height: 96px; --teal: 162, 223, 203; --black: 25, 23, 30; --brown: 81, 73, 65; --tan: 158, 144, 112; --lightblue: 147, 225, 242; --background-color: rgba(var(--tan), .12); --header-color: var(--background-color); --footer-color: rgba(var(--teal)); --borders: 1px solid rgba(var(--black), .86); } * { font-family: "Lato", sans-serif; box-sizing: border-box; } html, body { height: 100vh; width: 100vw; font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; } html, body, p, h1, h2, h3, h4, h5, h6 { padding: 0; margin: 0; } body { background-color: var(--background-color); } header { background-color: var(--header-color); border-bottom: var(--borders); font-variant: small-caps; height: var(--navbar-height); } footer { background-color: var(--footer-color); border-top: var(--borders); } .color-teal { color: rgba(var(--teal), .86); text-shadow: -1px -1px 0 rgba(var(--black), .52), 1px -1px 0 rgba(var(--black), .52), -1px 1px 0 rgba(var(--black), .52), 1px 1px 0 rgba(var(--black), .52); } .color-tan { color: rgba(var(--tan), .86); } .container { max-width: 1200px; margin-left: auto; margin-right: auto; } .h-100 { height: 100%; } nav { display: flex; align-items: center; justify-content: space-between; } nav > * { width: 33.33%; } .nav-logo > img { width: 64px; height: 64px; } .nav-title { align-items: center; } .nav-hyperlinks, .nav-title { display: flex; flex-direction: column; } .nav-hyperlinks { align-items: end; } .nav-hyperlinks > ul { list-style: none; margin: 0.5rem 0; padding: 0; } .nav-hyperlinks > ul > li { display: inline; float: left; } .nav-hyperlinks > ul > li > a { padding: 0 1rem; } .nav-hyperlinks a { display: flex; align-items: center; align-content: center; text-decoration: none; color: rgba(var(--black), .52); } .nav-hyperlinks a:hover { color: rgba(var(--black), .86); } .nav-hyperlinks ion-icon { font-size: 28px; } .nav-hyperlinks a span { display: inline-block; overflow: hidden; white-space: nowrap; max-width: 0; transition: max-width 0.25s linear; margin-left: 0.25rem; } .nav-hyperlinks a:hover span { max-width: 100px; } .flex-adaptive { display: flex; flex-direction: column-reverse; } .flex-1 { flex: 1; } footer { padding: 3rem 1.5rem; color: rgba(var(--black), .86); } footer a { text-decoration: none; color: rgba(var(--black), .52); } footer a:hover { color: rgba(var(--black), .86); } footer h3 { font-size: 2rem; } footer h4 { font-size: 1.25rem; font-weight: 400; margin-bottom: 1rem; } footer p { margin: 0 0 0.5rem 0; font-size: 0.85rem; color: rgba(var(--black), .52); } footer > div { display: flex; flex-direction: column; justify-content: space-around; width: 100%; } footer > div > * { width: 100%; text-align: center; } footer > div > :last-child { margin-top: 1rem; } footer ul { width: 100%; list-style: none; padding: 0; margin: 0; } footer ul li { margin: 0.5rem 0; } footer ul li:first-child { margin-top: 0; } footer ul li:last-child { margin-bottom: 0; } .footer-socials > a > ion-icon { color: rgba(var(--lightblue), .86); background-color: rgba(var(--brown), .86); border-radius: 100%; border: var(--borders); box-sizing: content-box; padding: 0.5rem; margin: 0 0.5rem; } .footer-socials > a:first-child > ion-icon { margin-left: 0; } .footer-socials > a:last-child > ion-icon { margin-right: 0; } .footer-links { display: flex; text-align: center; margin: 1rem 0 0 0; } .footer-links > * { flex-grow: 1; } .footer-links > :last-child { margin-left: rem; } /* -xs */ @media (min-width: 576px) { .container { max-width: 540px; } } /* -sm */ @media (min-width: 768px) { .container { max-width: 720px; } } /* -md */ @media (min-width: 992px) { .container { max-width: 960px; } .flex-adaptive { flex-direction: row; } footer ul { width: fit-content; } footer > div { flex-direction: row; } footer > div > * { width: fit-content; } footer > div > *:first-child { text-align: start; } footer > div > :last-child { margin-top: 0; } .footer-links { text-align: start; } } /* -lg */ @media (min-width: 1200px) { .container { max-width: 1140px; } } /* -xl */ @media (min-width: 1400px) { .container { max-width: 1320px; } }