/* ========================================================================== Base styles and Typography ========================================================================== */ @import url("normalize.css"); @import url("fonts.css"); html { font-size: 1.25em; } body { background-color: white; font-family: 'gentium_basic', serif; font-weight: 400; line-height: 1.45; color: #333; padding: 0; max-width: 100%; margin: 0 auto; } p { margin-bottom: 1.3em; } h1, h2, h3, h4 { font-family: "eczar"; margin: 1.414em 0 0.5em; font-weight: bold; line-height: 1.2; } h1 { margin-top: 0; font-size: 2.441em; } h2 { font-size: 1.953em; } h3 { font-size: 1.563em; } h4 { font-size: 1.25em; } small { font-size: 0.8em; } address { font-style: inherit; } .byline { font-size: 1.563em; } img { max-width: 100%; } .wrapper { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4rem; } @media screen and (max-width: 500px) { .wrapper { grid-template-columns: 1fr; } } /* ========================================================================== Header ========================================================================== */ .site__header { min-height: 100vh; padding: 6rem 2rem 2em; margin: 0; background-color: rgba(0, 0, 0, 0.35); background-image: url("/images/bg.jpg"); background-blend-mode: multiply; background-size: cover; background-repeat: no-repeat; background-position: top center; text-align: center; color: white; text-shadow: 1px 1px 2px black; } .site__header a { color: white; } .site__logo { max-width: 20rem; } /* Nav ========================================================================== */ nav { width: 100%; background-color: rgba(0,0,0,.95); color: white; margin: 0; padding: 1rem; position: fixed; display: flex; justify-content: space-between; align-items: baseline; flex-flow: row wrap; box-sizing: border-box; } nav div { display: flex; justify-content: space-between; } nav div a:not(:last-child) { margin-right: 1.5rem; } nav ul { list-style: none; margin: 0; padding: 0; } nav a { color: white; text-decoration: none; font-weight: bold; font-variant: small-caps; text-transform: lowercase; } .menu__icon { height: 2rem; width: 2.25rem; margin: 0.75rem 1rem; position: absolute; top: 0; right: 0; vertical-align: middle; z-index: 20; } .menu__icon span { display: block; background: white; width: 100%; height: 0.25rem; margin-top: -0.125rem; position: absolute; left: 0; top: 50%; } .menu__icon:before, .menu__icon:after { content: ""; display: block; background: white; width: 100%; height: 0.25rem; position: absolute; left: 0; transform-origin: center center; transform: rotate(0deg); transition: all 0.3s ease; } .menu__icon:before { top: 0.125rem; margin-top: -0.125rem; } .menu__icon:after { bottom: 0.125rem; margin-bottom: -0.125rem; } .menu_shown .menu__icon span { background: transparent; } .menu_shown .menu__icon:before { top: 50%; transform: rotate(45deg); } .menu_shown .menu__icon:after { bottom: 50%; transform: rotate(-45deg); } .mobile.menu { font-size: 1.5rem; position: absolute; margin: 0; top: 0; left: 0; width: 100%; min-height: 100vh; background: black; z-index: 10; transition: all 0.4s ease-in-out; transform: translateX(-100%); } #site__name { z-index: 11; } .mobile.menu a { color: white; } .menu_shown .mobile.menu { transform: translateX(0); } .mobile { display: none; } @media (max-width: 37.5rem) { .mobile { display: block; } .menu__icon { display: inline-block; } .desktop { display: none; } nav { position: fixed; background-color: black; top: 0; right: 0; left: 0; margin: 0; padding: 1rem; } nav a, #site__name { color: white; } .mobile.menu { display: grid; grid-template-columns: 1fr; gap: 1rem; justify-items: center; align-content: center; } .menu_shown #site__name { color: white; } } /* ========================================================================== Main ========================================================================== */ main { max-width: 40em; margin: 0 auto; padding: 1em; } article { padding-top: 1.563em; } article header { text-align: center; } /* ========================================================================== Footer ========================================================================== */ footer { background-color: rgba(0,0,0,.95); color: white; text-align: center; padding: 0 1rem; display: flex; /*justify-content: left;*/ flex-flow: column; } footer a { color: white; }