435 lines
No EOL
7.3 KiB
CSS
435 lines
No EOL
7.3 KiB
CSS
:root {
|
||
--tangerine: #F7A278;
|
||
--orange: #c94c10;
|
||
--champagne: #FDE4D8;
|
||
--dusty-champagne: #EFC6B8;
|
||
--charcoal: #626262;
|
||
|
||
--emoji-picker-rounding: 6px;
|
||
--image-max-size: 324px;
|
||
}
|
||
|
||
*, *::before, *::after {
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
html {
|
||
font-size: 62.5%;
|
||
line-height: 1.5;
|
||
-ms-text-size-adjust: 100%;
|
||
-webkit-text-size-adjust: 100%;
|
||
text-size-adjust: 100%;
|
||
}
|
||
|
||
body {
|
||
background: var(--champagne);
|
||
font-size: 1.6rem;
|
||
line-height: 1.4;
|
||
max-width: 768px;
|
||
margin-inline: auto;
|
||
padding: 2.4rem 1.2rem;
|
||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
||
}
|
||
|
||
.mt {
|
||
margin-block-start: 1.6rem;
|
||
}
|
||
|
||
.mb {
|
||
margin-block-end: 1.6rem;
|
||
}
|
||
|
||
.small {
|
||
font-size: 1.4rem;
|
||
}
|
||
|
||
.subtle {
|
||
color: var(--charcoal);
|
||
}
|
||
|
||
.messages {
|
||
margin-block-end: 1.6rem;
|
||
display: grid;
|
||
row-gap: .8rem;
|
||
font-size: 1.5rem;
|
||
}
|
||
|
||
.messages li.success::before {
|
||
content: "✅ ";
|
||
}
|
||
|
||
.messages li.error::before {
|
||
content: "❌ ";
|
||
}
|
||
|
||
.messages li.info::before {
|
||
content: "ℹ️ ";
|
||
}
|
||
|
||
button.logout {
|
||
border: none;
|
||
outline: none;
|
||
background: none;
|
||
display: inline;
|
||
font-size: 1.6rem;
|
||
cursor: pointer;
|
||
padding: 0;
|
||
}
|
||
|
||
a, button.logout {
|
||
color: var(--orange);
|
||
font-weight: bold;
|
||
text-decoration: none;
|
||
text-decoration-skip-ink: none;
|
||
text-underline-offset: 2px;
|
||
}
|
||
|
||
a:hover, button.logout:hover {
|
||
text-decoration: wavy underline;
|
||
}
|
||
|
||
.profile h2 {
|
||
font-size: 1.8rem;
|
||
font-weight: bold;
|
||
color: var(--orange);
|
||
}
|
||
|
||
.avatar {
|
||
border-radius: 8px;
|
||
}
|
||
|
||
aside .avatar {
|
||
max-width: 100%;
|
||
}
|
||
|
||
dl {
|
||
display: grid;
|
||
grid-template-columns: 1fr 1fr;
|
||
row-gap: 1.2rem;
|
||
column-gap: 1.8rem;
|
||
}
|
||
|
||
dl > div {
|
||
display: grid;
|
||
}
|
||
|
||
dl dt {
|
||
font-size: 1.4rem;
|
||
font-weight: bold;
|
||
color: var(--charcoal);
|
||
}
|
||
|
||
dl > .double {
|
||
grid-column: 1 / span 2;
|
||
}
|
||
|
||
form .errors {
|
||
font-size: 1.5rem;
|
||
display: grid;
|
||
margin-block-end: .8rem;
|
||
}
|
||
|
||
form .errors::before {
|
||
content: "fix these and we're good to go:";
|
||
font-size: 1.4rem;
|
||
color: var(--charcoal);
|
||
margin-block-end: .4rem;
|
||
}
|
||
|
||
form .errors li::before {
|
||
content: "❌ ";
|
||
}
|
||
|
||
form .errors li {
|
||
text-transform: lowercase;
|
||
}
|
||
|
||
form:not(.logout) {
|
||
display: grid;
|
||
row-gap: .8rem;
|
||
}
|
||
|
||
form.auth {
|
||
max-width: 378px;
|
||
}
|
||
|
||
form .field {
|
||
display: grid;
|
||
row-gap: .4rem;
|
||
}
|
||
|
||
form .field .field-button {
|
||
display: grid;
|
||
grid-template-columns: 1fr auto;
|
||
column-gap: .8rem;
|
||
}
|
||
|
||
form .checkbox {
|
||
display: grid;
|
||
grid-template-columns: auto 1fr;
|
||
align-items: flex-start;
|
||
column-gap: .8rem;
|
||
}
|
||
|
||
form .field .help {
|
||
color: var(--charcoal);
|
||
font-size: 1.4rem;
|
||
}
|
||
|
||
form input:not([name$="-clear"]),
|
||
form select {
|
||
width: 100%;
|
||
}
|
||
|
||
form textarea {
|
||
height: 6ch;
|
||
resize: vertical;
|
||
}
|
||
|
||
form input[type=text],
|
||
form input[type=password],
|
||
form input[type=email],
|
||
form textarea,
|
||
form select {
|
||
padding: .2rem;
|
||
font-size: 1.6rem;
|
||
border: 1px solid var(--charcoal);
|
||
border-radius: 3px;
|
||
background: var(--champagne);
|
||
}
|
||
|
||
form input[type=text]:focus,
|
||
form input[type=password]:focus,
|
||
form input[type=email]:focus,
|
||
form textarea:focus,
|
||
form select:focus {
|
||
background: white;
|
||
outline: 2px solid var(--tangerine);
|
||
}
|
||
|
||
form .emoji-picker {
|
||
display: grid;
|
||
row-gap: .2rem;
|
||
margin-block-end: .8rem;
|
||
}
|
||
|
||
form .emoji-picker details:first-of-type summary {
|
||
border-top-right-radius: var(--emoji-picker-rounding);
|
||
border-top-left-radius: var(--emoji-picker-rounding);
|
||
}
|
||
|
||
form .emoji-picker details:last-of-type:not([open]) summary {
|
||
border-bottom-right-radius: var(--emoji-picker-rounding);
|
||
border-bottom-left-radius: var(--emoji-picker-rounding);
|
||
}
|
||
|
||
form .emoji-picker details summary {
|
||
background: var(--dusty-champagne);
|
||
font-size: 1.4rem;
|
||
padding: .4rem .6rem;
|
||
user-select: none;
|
||
cursor: default;
|
||
}
|
||
|
||
form .emoji-picker ul {
|
||
display: grid;
|
||
grid-template-columns: repeat(5, 1fr);
|
||
column-gap: .2rem;
|
||
row-gap: .2rem;
|
||
}
|
||
|
||
form .emoji-picker ul li label {
|
||
padding: .3rem;
|
||
}
|
||
|
||
form .emoji-picker ul li input[type=radio] {
|
||
display: none;
|
||
}
|
||
|
||
form .emoji-picker ul li input[type=radio]:checked + label {
|
||
outline: 3px solid var(--tangerine);
|
||
border-radius: 50%;
|
||
}
|
||
|
||
form button[type=submit]:not(.logout) {
|
||
padding: .4rem .6rem;
|
||
font-size: 1.5rem;
|
||
background: var(--tangerine);
|
||
border: 1px solid var(--orange);
|
||
outline: none;
|
||
border-radius: 4px;
|
||
}
|
||
|
||
header {
|
||
display: grid;
|
||
margin-block-end: 2.4rem;
|
||
}
|
||
|
||
header h1 {
|
||
font-weight: bold;
|
||
font-size: 2.4rem;
|
||
}
|
||
|
||
header h1 sup {
|
||
vertical-align: super;
|
||
font-size: 1.4rem;
|
||
font-weight: normal;
|
||
}
|
||
|
||
header nav ul {
|
||
display: flex;
|
||
flex-flow: row wrap;
|
||
align-items: center;
|
||
column-gap: 1.2rem;
|
||
row-gap: .8rem;
|
||
}
|
||
|
||
.grid-content {
|
||
display: grid;
|
||
row-gap: 1.2rem;
|
||
}
|
||
|
||
.grid-content main {
|
||
display: grid;
|
||
row-gap: 1.8rem;
|
||
}
|
||
|
||
.grid-content main article {
|
||
padding: .8rem 1.8rem;
|
||
border-left: 4px solid var(--tangerine);
|
||
word-break: break-word;
|
||
display: grid;
|
||
grid-template-columns: auto 1fr;
|
||
column-gap: 1.2rem;
|
||
}
|
||
|
||
.grid-content main article .image {
|
||
grid-column: 1 / span 2;
|
||
margin-block-end: 1rem;
|
||
}
|
||
|
||
.grid-content main article .image img {
|
||
max-width: 100%;
|
||
max-height: var(--image-max-size);
|
||
border-radius: 8px;
|
||
}
|
||
|
||
.grid-content main article .emoji {
|
||
font-size: 2rem;
|
||
padding-top: .8rem;
|
||
}
|
||
|
||
.grid-content main article .body {
|
||
display: grid;
|
||
row-gap: .2rem;
|
||
}
|
||
|
||
.grid-content main article .body .metadata {
|
||
font-size: 1.4rem;
|
||
color: var(--charcoal);
|
||
}
|
||
|
||
.grid-content main article .body .recipe {
|
||
margin-block-start: .4rem;
|
||
}
|
||
|
||
.grid-content main article .body .recipe summary {
|
||
font-size: 1.4rem;
|
||
cursor: default;
|
||
user-select: none;
|
||
}
|
||
|
||
.grid-content main article .body .recipe ol {
|
||
font-size: 1.5rem;
|
||
list-style: decimal;
|
||
margin-block-start: 1rem;
|
||
padding-inline-start: 3.4rem;
|
||
border-left: 2px solid var(--tangerine);
|
||
}
|
||
|
||
.block {
|
||
max-width: 528px;
|
||
display: grid;
|
||
row-gap: .8rem;
|
||
}
|
||
|
||
.block h2 {
|
||
font-size: 2rem;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.block h3 {
|
||
font-size: 1.8rem;
|
||
font-weight: bold;
|
||
margin-block-start: 1.2rem;
|
||
}
|
||
|
||
.block ul,
|
||
.block ol {
|
||
padding-inline-start: 3.2rem;
|
||
display: grid;
|
||
row-gap: .4rem;
|
||
}
|
||
|
||
.block ul {
|
||
list-style: disc;
|
||
}
|
||
|
||
.block ol {
|
||
list-style: decimal;
|
||
}
|
||
|
||
.block strong {
|
||
font-weight: bold;
|
||
}
|
||
|
||
.block em {
|
||
font-style: italic;
|
||
}
|
||
|
||
footer {
|
||
margin-block-start: 1.8rem;
|
||
}
|
||
|
||
footer nav ul {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
column-gap: 1.2rem;
|
||
}
|
||
|
||
footer nav ul li a {
|
||
font-size: 1.4rem;
|
||
color: var(--charcoal);
|
||
}
|
||
|
||
footer nav ul li a:hover {
|
||
color: var(--orange);
|
||
}
|
||
|
||
@media(min-width: 768px) {
|
||
body {
|
||
padding: 4rem 1.2rem 2.4rem 1.2rem;
|
||
}
|
||
|
||
header {
|
||
grid-template-columns: auto 1fr;
|
||
column-gap: 2.4rem;
|
||
align-items: center;
|
||
}
|
||
|
||
header nav ul {
|
||
justify-content: flex-end;
|
||
}
|
||
|
||
.grid-content {
|
||
grid-template-columns: 214px 1fr;
|
||
column-gap: 2.4rem;
|
||
row-gap: 0;
|
||
align-items: flex-start;
|
||
}
|
||
|
||
.grid-content main article .image img {
|
||
max-width: var(--image-max-size);
|
||
}
|
||
} |