bltcoffee/styles/main.css

346 lines
5.1 KiB
CSS

/* ==========================================================================
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;
width: 100%;
}
/* 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;
}
}
/* Site notice
========================================================================== */
.site__notice {
background-color: rgba(0, 0, 0, 0.6);
padding: 1rem;
max-width: 25rem;
margin: 0 auto;
}
.site__notice h4 {
margin: 0;
}
/* ==========================================================================
Main
========================================================================== */
main {
max-width: 40em;
margin: 0 auto;
padding: 1em;
}
article {
padding-top: 1.563em;
}
article header {
text-align: center;
}
.stamp-gallery {
display: flex;
justify-content: center;
gap: 2rem;
}
.stamp-gallery img {
max-height: 4rem;
}
/* ==========================================================================
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;
}