Refresh site design and update content

This commit is contained in:
Nathan Chapman 2022-05-16 18:54:57 -06:00
parent 60ba1ffd47
commit a249c23af6
7 changed files with 579 additions and 396 deletions

BIN
images/coffee_black.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
images/site-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

View File

@ -1,206 +1,223 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<title>Better Living Through Coffee</title> <title>Better Living Through Coffee</title>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"> <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta content="width=device-width, initial-scale=1" name="viewport"> <meta content="width=device-width, initial-scale=1" name="viewport">
<link rel="apple-touch-icon" href="img/favicon.icns"> <link rel="apple-touch-icon" href="img/favicon.icns">
<link rel="shortcut icon" href="img/favicon.ico"> <link rel="shortcut icon" href="img/favicon.ico">
<meta content="Bustling and cozy cafe with a waterfront view." name="description"> <meta content="Bustling and cozy cafe with a waterfront view." name="description">
<meta content="Port Townsend, Coffee, Organic, Roast, Espresso, Cappuccino, Latte, Mocha, Decaf, French Roast, " name="keywords"> <meta content="Port Townsend, Coffee, Organic, Roast, Espresso, Cappuccino, Latte, Mocha, Decaf, French Roast, " name="keywords">
<link href="styles/base.css" rel="stylesheet"> <link href="styles/main.css" rel="stylesheet">
<script defer src="scripts/index.js"></script> <script defer src="scripts/index.js"></script>
</head> </head>
<body> <body>
<header> <nav>
<nav> <a id="site__name" href="/">Better Living Through Coffee</a>
<a href="#drinks">drinks menu</a> <div class="menu desktop">
<a href="#food">food menu</a> <a href="#coffee">coffee</a>
<a href="#top">to-top</a> <a href="#food">food menu</a>
</nav> <a href="#tea">tea</a>
<div class="banner"> <a href="https://ptcoffee.com">port townsend roasting co.</a>
<img src="/images/coffee_white.png" data-src="/images/coffee_white.png"> </div>
<a class="menu__icon mobile"><span></span></a>
<ul class="menu mobile">
<li><a href="#coffee">coffee</a></li>
<li><a href="#food">food menu</a></li>
<li><a href="#tea">tea</a></li>
<li><a href="https://ptcoffee.com">port townsend<br>roasting co.</a></li>
</ul>
</nav>
<header class="site__header">
<img class="site__logo" src="/images/site-logo.png">
<h1>NOW OPEN</h1>
<h3>
Mon-Thu: 7:30am - 4pm <br>
Fri: 7:30am - 5pm<br>
Sat-Sun: 7:30am - 6pm
</h3>
<h4>Phone: <a href="tel:+13603853388">(360) 385-3388</a></h4>
<p>Better Living Through Coffee is located in the beautiful,<br>historic downtown district of Port Townsend, Washington.</p>
<h1>Better Living Through Coffee</h1> <p>Fair-trade, organic, locally roasted drip coffee and espresso.</p>
<p class="byline"><em>Bustling cozy cafe with a waterfront view.</em></p>
<div class="block"> <p>Organic herbal teas, and specialty drinks.</p>
<h4>Phone</h4> <h4>Location</h4>
<a href="tel:+13603853388">(360) 385-3388</a> <address>
<a href="https://www.google.com/maps/place/100+Tyler+St,+Port+Townsend,+WA+98368/">100 Tyler St,<br>
<h4>Location</h4> Port Townsend,<br>
<address> WA 98368</a>
<a href="https://www.google.com/maps/place/100+Tyler+St,+Port+Townsend,+WA+98368/">100 Tyler St, </address>
Port Townsend, WA 98368</a> </header>
</address> <main>
<article id="coffee">
<h4>Hours</h4> <header>
<p>Monday - Thursday: 7am - 5pm<br> <img alt="" src="/images/coffee_black.png">
Friday - Sunday: 7am - 7pm</p> <h2>Coffee</h2>
</div> <p><em>Fair-trade, organic, locally roasted drip coffee and espresso;<br>
</div> organic herbal teas, smoothies, and specialty drinks.</em></p><!-- <p><em>Now serving Beer and Wine!</em></p> -->
</header> </header>
<div class="wrapper">
<section>
<h3>Drip Coffee</h3>
<main> <p><strong>Nicaragua</strong> - Mild Roast<br>
<article id="drinks"> Central American. Medium body. Good acidity.</p>
<header> <p><strong>Dantes Tornado</strong> - Medium Roast (Full City)<br>
<h2>Drinks Menu</h2> Good body. Rounded flavor. Medium acidity.</p>
<p><strong>Sumatra</strong> - Dark Roast<br>
<p><em>Fair-trade, organic, locally roasted drip coffee and espresso;<br> Low acid. Heavy body. Like a Vienna roast.</p>
organic herbal teas, smoothies, and specialty drinks.</em></p> <p><strong>Ethiopa Sidamo</strong> - Dark Roast<br>
Earthy, fruity, wild and complex. Good body.</p>
<!-- <p><em>Now serving Beer and Wine!</em></p> --> <p><strong>Loop d Loop</strong> - Dark Roast<br>
</header> Smooth. Well-rounded. Good body. Chocolatey.</p>
<p><strong>Pantomime</strong> - Very Dark French Roast<br>
<div class="wrapper"> Smokey, caramel flavors.</p>
<section> <p><strong>Decaf French</strong> - Dark Roast<br>
<h3>Drip Coffee</h3> Smooth, smokey.</p>
</section>
<section>
<p><strong>Nicaragua</strong> - Mild Roast<br> <h3>Espresso</h3>
Central American. Medium body. Good acidity.</p> <p><strong>Espresso</strong><br>
Double ristretto.</p>
<p><strong>Dantes Tornado</strong> - Medium Roast (Full City)<br> <p><strong>Macchiato</strong><br>
Good body. Rounded flavor. Medium acidity.</p> Espresso marked with foam.</p>
<p><strong>Con Panna</strong><br>
<p><strong>Sumatra</strong> - Dark Roast<br> Espresso marked with whipped cream.</p>
Low acid. Heavy body. Like a Vienna roast.</p> <p><strong>Americano</strong><br>
Espresso in hot water.</p>
<p><strong>Ethiopa Sidamo</strong> - Dark Roast<br> <p><strong>Cappuccino</strong><br>
Earthy, fruity, wild and complex. Good body.</p> Dry foam over espresso.</p>
<p><strong>Caffè Latte</strong><br>
<p><strong>Loop d Loop</strong> - Dark Roast<br> Microfoam over espresso.</p>
Smooth. Well-rounded. Good body. Chocolatey.</p> <p><strong>Caffè Breve</strong><br>
Dry foam.</p>
<p><strong>Decaf French</strong> - Dark Roast<br> <p><strong>Flavored Latte</strong><br>
Smooth, smokey.</p> Vanilla, hazelnut, or caramel.</p>
<p><strong>Caffè Vienois</strong><br>
<p><strong>Pantomime</strong> - Very Dark French Roast<br> Vanilla, cinnamon.</p>
Smokey, caramel flavors.</p> <p><strong>Caffè Mocha</strong><br>
</section> Organic cocoa.</p>
<p><strong>Caffè Arancia</strong><br>
<section> Organic cocoa, orange peel, vanilla.</p>
<h3>Espresso</h3> <p><strong>Caffè Chetzemocha</strong><br>
Cocoa, spices, chipotle peppers.</p>
<p><strong>Salted Caramel Latte</strong><br>
<p><strong>Espresso</strong><br> House-made caramel.</p>
Double ristretto.</p> </section>
</div>
<p><strong>Macchiato</strong><br> </article>
Espresso marked with foam.</p> <article id="food">
<header>
<p><strong>Con Panna</strong><br> <h2>Food Menu</h2>
Espresso marked with whipped cream.</p> <p><em>Freshly baked, delicious, nutrient-dense:<br>
pastries, soups, quiches, and other treats made with organic ingredients.</em></p>
<p><strong>Americano</strong><br> </header>
Espresso in hot water.</p> <div class="wrapper">
<section>
<p><strong>Cappuccino</strong><br> <p><strong>NYC Bagels from Midtown Manhattan</strong><br>
Dry foam over espresso.</p> <small>Saturday & Sunday Mornings</small></p>
<p><strong>Fresh Pastries</strong></p>
<p><strong>Caffè Latte</strong><br> <p><strong>Organic Cookies</strong></p>
Microfoam over espresso.</p> <p><strong>Spinach Quiche</strong></p>
<p><strong>Sausage Quiche</strong></p>
<p><strong>Caffè Breve</strong><br> </section>
Dry foam.</p> <section>
<p><strong>Salmon Quiche</strong></p>
<p><strong>Flavored Latte</strong><br> <p><strong>Vegetarian Tamale Pie</strong></p>
Vanilla, hazelnut, or caramel.</p> <p><strong>Salmon Chowder</strong></p>
<p><strong>Lentil Soup</strong></p>
<p><strong>Caffè Vienois</strong><br> <p><strong>Apple Walnut Salad</strong></p>
Vanilla, cinnamon.</p> </section>
</div>
<p><strong>Caffè Mocha</strong><br> </article>
Organic cocoa.</p> <article id="tea">
<header>
<p><strong>Caffè Arancia</strong><br> <h2>Tea</h2>
Organic cocoa, orange peel, vanilla.</p> <p><em>Organic herbal teas, and specialty drinks.</em></p>
</header>
<p><strong>Caffè Chetzemocha</strong><br> <div class="wrapper">
Cocoa, spices, chipotle peppers.</p> <section>
<h3>Black</h3>
<p><strong>Salted Caramel Latte</strong><br> <p><strong>Assam</strong><br>
House-made caramel.</p> Tasting notes: Full bodied, lovely balanced astringency with jammy hints of malt and toast. A good stout Assam.</p>
</section> <p><strong>Ceylon</strong><br>
</div> Tasting notes: A classic Ceylong tea. Light liquoring with hints of delicate floral notes. A lovely afternoon tea.</p>
</article> <p><strong>Darjeeling</strong><br>
Tasting notes: Wonderful muscatel highlights with delicate strength — the hallmark of a premium 2nd flush Darjeeling.</p>
<article id="food"> <p><strong>Earl Grey</strong><br>
<header> Tasting notes: An unbelievable aroma that portends an unbelievable taste. We have been told repeatedly: “This is the best Earl Grey I have ever tasted!”</p>
<h2>Food Menu</h2> <p><strong>Keemun</strong><br>
Tasting notes: A winey and fruity tea with depth and complexity. Takes milk very well.</p>
<p><em>Freshly baked, delicious, nutrient-dense:<br> <p><strong>Lapsang Souchong</strong><br>
pastries, soups, quiches, and other treats made with organic ingredients.</em></p> Tasting notes: A superior leaf Lapsang Souchong offering a crisp character with the remarkable and heady aroma of an oak fire.</p>
</header> <p><strong>Mango</strong><br>
Tasting notes: Piquant and exotic with mysterious fruit notes. Sweet and delicate hints of island musk that peep out. Makes a superb iced tea.</p>
<div class="wrapper"> </section>
<section> <section>
<p><strong>Sausage Pepper Quiche</strong><br> <h3>Green</h3>
Peppers, onions & raw chedder.</p> <p><strong>Oolong</strong><br>
Tasting notes: Floral-like orchid notes with a smooth and haunting finish. This is an excellent vintage Ti Kuan Yin that has no calories when consumed without milk or sugar.</p>
<p><strong>Spinach Quiche</strong><br> <p><strong>Jasmine</strong><br>
Spinach & raw cheddar.</p> Tasting notes: A green tea with surprising body and a captivating floral character accentuated by specially selected May Jasmine blossoms.</p>
<p><strong>Sencha</strong><br>
<p><strong>Tamale Pie</strong><br> Tasting notes: A delicious green tea character with depth, body and some pungency. Cup tends bright forest green.</p>
Local grass-fed beef.</p> </section>
</div>
<p><strong>Chicken Pot Pie</strong><br> <div class="wrapper">
Einkorn crust, vegetables.</p> <section>
<h3>Herbal</h3>
<p><strong>Salmon Quiche</strong><br> <p><strong>Chamomile</strong><br>
Wild salmon, capers.</p> Tasting notes: Lively and relaxing. On the nose, the cup offers a soothing floral bouquet. On the tongue, the infusion impresses with exceptionally lively honey notes. Aromatic with a fruity tending floral flavor.</p>
</section> <p><strong>Licorice</strong><br>
Tasting notes: Slight sweetness glows in the cup.Tending somewhat herbaceous and woody but with an enchanting sweet licorice lightly spice finish.</p>
<section> <p><strong>Nettle</strong><br>
<p><strong>Green Salad</strong><br> Tasting notes: Dark and mysterious cup with a dry herbaceous finish.</p>
Baby greens, olives, dressing.</p> <p><strong>Peppermint</strong><br>
Tasting notes: Sourced from an excellent family grower in Washington State, it exhibits all the character and nuance we look for in herbal leaf teas. Pungent, cool, fresh, menthol.</p>
<p><strong>Apple Walnut Salad</strong><br> <p><strong>Yummy Berry</strong><br>
Amish cheddar, olives, dressing.</p> Tasting notes: A full flavored tea with deep berry notes. The infused cup is burgundy red and provides strength and character. A terrific tasting herbal tea.</p>
</section>
<p><strong>Salmon Salad</strong><br> <section>
Wild salmon, olives, dressing.</p> <h3>Yerba Mate</h3>
<p><strong>Fresh Yerba Mate</strong><br>
<p><strong>Lentil Soup</strong><br> Tasting notes: Smooth, creamy, grassy flavor with a round texture and a refreshing finish.</p>
Vegan.</p> <p><strong>Roasted Yerba Mate</strong><br>
Tasting notes: Rich and toasty with a oaky and nutty notes.</p>
<p><strong>Salmon Chowder</strong><br> <p><strong>Chai Yerba Mate</strong><br>
Creamy. Wild salmon.</p> Tasting notes: Traditional Indian spices make for a sharp flavor with medium body.</p>
</section>
<p><strong>Yogurt Parfait</strong><br> </div>
Yogurt, walnuts, berries, honey.</p> </article>
</section> </main>
</div> <footer>
<p><small>All food items are made on site using local, organic produce when available, locally raised grass-fed beef, pastured chickens and organic eggs, and wild Alaskan line-caught salmon.</small></p> <section>
</article> <p><strong>Phone:</strong> <a href="tel:+13603853388">(360) 385-3388</a></p>
</main> <address>
<strong>Location:</strong><br>
<footer> <a href="https://www.google.com/maps/place/100+Tyler+St,+Port+Townsend,+WA+98368/">
<section> 100 Tyler St,<br>
<p> Port Townsend,<br>
<strong>Phone:</strong> WA 98368
<a href="tel:+13603853388">(360) 385-3388</a> </a>
</p> </address>
<address> <p>
<strong>Location:</strong> <strong>Hours:</strong><br>
<a href="https://www.google.com/maps/place/100+Tyler+St,+Port+Townsend,+WA+98368/">100 Tyler St, Mon-Thu: 7:30am - 4pm <br>
Port Townsend, WA 98368</a> Fri: 7:30am - 5pm<br>
</address> Sat-Sun: 7:30am - 6pm
<p> </p>
<strong>Hours:</strong> </section>
Mon - Thu: 7am - 5pm,<wbr> Fri - Sun: 7am - 7pm <section>
</p> <p>Better Living Through Coffee is located in the beautiful,<br> historic downtown district of Port Townsend, Washington.</p>
</section> </section>
<section> <section>
<p>Better Living Through Coffee is located in the beautiful, historic downtown district of Port Townsend, Washington.</p> <p><small>Website by <a href="https://nathanjchapman.com">Nathan Chapman</a></small></p>
</section> </section>
</footer> </footer>
</body> </body>
</html> </html>

View File

@ -1,23 +1,13 @@
(function () { const menuIcon = document.querySelector('.menu__icon');
menuIcon.addEventListener('click', event => {
const body = document.querySelector('body');
body.classList.toggle('menu_shown');
});
// Defer image loading till last. const mobileAnchors = document.querySelectorAll('.menu.mobile a');
function init() { mobileAnchors.forEach(anchor => {
var imgDefer = document.getElementsByTagName('img'); anchor.addEventListener('click', event => {
for (var i = 0; i < imgDefer.length; i++) { const body = document.querySelector('body');
if (imgDefer[i].getAttribute('data-src')) { body.classList.toggle('menu_shown');
imgDefer[i].setAttribute('src', imgDefer[i].getAttribute('data-src')); });
} });
}
}
// When the DOM is ready it'll execute fn().
function ready(fn) {
if (document.readyState != 'loading'){
fn();
} else {
document.addEventListener('DOMContentLoaded', fn);
}
}
window.onload = init;
})();

View File

@ -1,141 +0,0 @@
@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;
}
/* Layout */
img {
max-width: 100%;
}
.wrapper {
display: flex;
justify-content: space-between;
flex-flow: row wrap;
}
nav {
width: 100%;
background-color: rgba(0,0,0,.95);
color: white;
padding-top: 0.25em;
padding-bottom: 0.25em;
position: fixed;
display: flex;
justify-content: center;
align-items: baseline;
flex-flow: row wrap;
}
nav a {
color: white;
margin-right: 1em;
margin-left: 1em;
font-variant: small-caps;
text-decoration: none;
font-weight: bold;
}
footer a {
color: white;
}
article header,
body header {
text-align: center;
}
main {
max-width: 40em;
margin: 0 auto;
padding: 1em;
}
article {
padding-top: 1.563em;
}
footer {
background-color: rgba(0,0,0,.95);
color: white;
text-align: center;
padding: 0 1rem;
display: flex;
/*justify-content: left;*/
flex-flow: column;
}
/* Theme */
.banner {
padding: 4em 2em;
background-size: cover;
background-image: url(../images/bg.jpg);
background-repeat: no-repeat;
background-position: top center;
color: white;
text-shadow: 1px 1px 2px black;
}
.banner a {
color: white;
}

View File

@ -1,35 +1,35 @@
/* Eczar */ /* Eczar */
@font-face { @font-face {
font-family: 'eczar'; font-family: 'eczar';
src: url('../fonts/Eczar/eczar-bold.woff2') format('woff2'), src: url('../fonts/Eczar/eczar-bold.woff2') format('woff2'),
url('../fonts/Eczar/eczar-bold.woff') format('woff'); url('../fonts/Eczar/eczar-bold.woff') format('woff');
font-weight: 700; font-weight: 700;
font-style: normal; font-style: normal;
} }
@font-face { @font-face {
font-family: 'eczar'; font-family: 'eczar';
src: url('../fonts/Eczar/eczar-extrabold.woff2') format('woff2'), src: url('../fonts/Eczar/eczar-extrabold.woff2') format('woff2'),
url('../fonts/Eczar/eczar-extrabold.woff') format('woff'); url('../fonts/Eczar/eczar-extrabold.woff') format('woff');
font-weight: bolder; font-weight: bolder;
font-style: normal; font-style: normal;
} }
@font-face { @font-face {
font-family: 'eczar'; font-family: 'eczar';
src: url('../fonts/Eczar/eczar-medium.woff2') format('woff2'), src: url('../fonts/Eczar/eczar-medium.woff2') format('woff2'),
url('../fonts/Eczar/eczar-medium.woff') format('woff'); url('../fonts/Eczar/eczar-medium.woff') format('woff');
font-weight: 500; font-weight: 500;
font-style: normal; font-style: normal;
} }
@font-face { @font-face {
font-family: 'eczar'; font-family: 'eczar';
src: url('../fonts/Eczar/eczar-regular.woff2') format('woff2'), src: url('../fonts/Eczar/eczar-regular.woff2') format('woff2'),
url('../fonts/Eczar/eczar-regular.woff') format('woff'); url('../fonts/Eczar/eczar-regular.woff') format('woff');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }
@ -37,33 +37,33 @@
/* Gentium Basic */ /* Gentium Basic */
@font-face { @font-face {
font-family: 'gentium_basic'; font-family: 'gentium_basic';
src: url('../fonts/Gentium_Basic/genbasbold.woff2') format('woff2'), src: url('../fonts/Gentium_Basic/genbasbold.woff2') format('woff2'),
url('../fonts/Gentium_Basic/genbasbold.woff') format('woff'); url('../fonts/Gentium_Basic/genbasbold.woff') format('woff');
font-weight: bold; font-weight: bold;
font-style: normal; font-style: normal;
} }
@font-face { @font-face {
font-family: 'gentium_basic'; font-family: 'gentium_basic';
src: url('../fonts/Gentium_Basic/genbasbolditalic.woff2') format('woff2'), src: url('../fonts/Gentium_Basic/genbasbolditalic.woff2') format('woff2'),
url('../fonts/Gentium_Basic/genbasbolditalic.woff') format('woff'); url('../fonts/Gentium_Basic/genbasbolditalic.woff') format('woff');
font-weight: bold; font-weight: bold;
font-style: italic; font-style: italic;
} }
@font-face { @font-face {
font-family: 'gentium_basic'; font-family: 'gentium_basic';
src: url('../fonts/Gentium_Basic/genbasitalic.woff2') format('woff2'), src: url('../fonts/Gentium_Basic/genbasitalic.woff2') format('woff2'),
url('../fonts/Gentium_Basic/genbasitalic.woff') format('woff'); url('../fonts/Gentium_Basic/genbasitalic.woff') format('woff');
font-weight: normal; font-weight: normal;
font-style: italic; font-style: italic;
} }
@font-face { @font-face {
font-family: 'gentium_basic'; font-family: 'gentium_basic';
src: url('../fonts/Gentium_Basic/genbasregular.woff2') format('woff2'), src: url('../fonts/Gentium_Basic/genbasregular.woff2') format('woff2'),
url('../fonts/Gentium_Basic/genbasregular.woff') format('woff'); url('../fonts/Gentium_Basic/genbasregular.woff') format('woff');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }

317
styles/main.css Normal file
View File

@ -0,0 +1,317 @@
/* ==========================================================================
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;
}