itty-bitty/docs/render/recipe.css
2022-11-13 15:56:30 -08:00

893 lines
No EOL
16 KiB
CSS
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

* {
font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}
body {
margin: 0 8vw;
background-color: var(--background-color);
color: var(--text-color);
--text-color:
rgba(0,0,0,0.87);
--strong-text-color:black;
--disabled-text-color:
rgba(16, 12, 12, 0.54);
--hover-background-color:
rgba(16, 12, 12, 0.07);
--image-placeholder-color:
var(--hover-background-color);
--background-color:white;
--accent-color:#D42A20;
}
.thumbnail {
width: 100%;
padding-top: 61.8%;
max-height:1vh;
background-size: cover;
background-position: center;
margin-bottom: 1.3em;
box-sizing: border-box;
/* transition: opacity 200ms ease-out; */
/* opacity:0; */
/* margin: 0 -2em; */
}
.description {
white-space:pre-wrap;
}
.ingredients:hover .noun {
/* text-decoration:underline; */
}
@media screen {
.timer {
/* background-color:cyan; */
white-space: nowrap;
border-radius: 2px;
padding: 0 0.1em;
margin: 0 -0.1em;
/* text-decoration:underline; */
text-decoration-style: dotted;
box-sizing: border-box;
/* color: var(--background-color); */
/* border-bottom:1px solid transparent; */
border-bottom-color: currentColor;
/* background-color: var(--text-color); */
font-weight: bold;
}
.timer:hover,
.timer.active {
color: white;
background-color:#0E638E;
z-index:100;
/* border:1px solid currentColor; */
position:relative;
border-bottom-color: transparent;
}
.timer.active .label{
opacity:0.0;
}
.timer .countdown{
position:
absolute;
display:
none;
width: 100%;
text-align: center;
left: 0;
}
.timer.active .countdown {
display:inline-block;
}
.timer svg {
width: 1em;
vertical-align: sub;
margin-bottom: 1px;
}
}
@media print {
.timer {
font-weight:800;
}
.timer svg {
display:none;
}
}
img.publisher {
max-width: 8em;
max-height: 3em;
/* margin-top: -0.1em; */
transform:
scale(0.7);
/* float:
right; */
transform-origin: left;
}
.recipe {
max-width: 50em;
margin: auto;
line-height: 125%;
}
.columns {
display: flex;
gap: 3em;
margin-bottom: 4em;
align-content: center;
justify-content: center;
/* flex-direction: row-reverse; */
/* margin-top: 1em; */
/* height: auto; */
}
.headercolumns {
display: flex;
flex-direction: row-reverse;
}
header {
flex: 1 1 auto;
/* gap: 2em; */
/* margin-bottom: 1rem; */
/* padding-left: 18em; */
}
h1 {
margin-top: 0;
margin-bottom: 0;
line-height:125%;
font-weight:500;
font-size: 2em;
}
.noun.hovered {
background-color:#FAC22B;
padding:0px 2px 2px 2px;
margin:-0px -2px -2px -2px;
border-radius:2px;
}
.step.hovered,
.substep.hovered ~ *,
.ingredient.hovered {
background-color:#f1f1f1;
}
.ingredient.hovered {
background-color: #FAC22B;
}
.metadata {
display: flex;
flex-wrap: wrap;
gap: 0.5em 1em;
/* margin-bottom: 1em; */
text-transform: uppercase;
font-size: 0.88rem;
font-weight: 500;
line-height: 0.8em;
margin-top: 0.7em;
}
ul.step {
padding-inline-start: 0;
list-style-type:none;
padding: 0;margin: 0em;
}
ul.step:after {
content: "";
display: none;
width: 5em;
height: 0.5px;
background-color: currentColor;
opacity: 1;
border:
none;
margin: 1em 0 0.2em 0;
print-color-adjust: exact;
-webkit-print-color-adjust: exact;
/* margin-left: -19em; */
}
ul.step.header:after,
ul.step:last-child:after {
display:none;
}
.instructions:not(.numbered) .number {
display: none;
}
.instructions.numbered .step {
margin-bottom:1em;
}
span.bullet {
margin-left: -1.5rem;
float:
left;
/* border: 1.5px solid var(--text-color); */
font-weight: 600;
border-radius:10em;
width: 16px;
height: 16px;
text-align: center;
/* font-size: 10px; */
/* line-height: 16px; */
opacity: 1;
user-select: none;
color:
var(--accent-color)
/* background: black; */;
/* display: none; */
/* display: block; */
}
.instructions .step:not(:hover) span.bullet.substep {
opacity: 0.3;
color: var(--text-color);
}
@media screen {
.complete span.bullet, li:hover span.bullet {
color:transparent;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48'%3E%3Cpath d='M18.9 36.9 6.5 24.5 9.9 21.1 18.9 30.1 38.05 10.95 41.45 14.35Z'/%3E%3C/svg%3E"); background-size:cover;
}
.complete span.number {
border-color:transparent;
}
.complete .noun {
color:var(--disabled-text-color);
}
.ingredient.complete,
li.complete {
text-decoration: line-through;
color:var(--disabled-text-color);
text-decoration: line-through;
/*noinspection CssOverwrittenProperties*/
text-decoration: rgba(0,0,0,0.75) solid 0.5px line-through; /* Ignored in CSS1/CSS2 UAs */
}
}
.number.big {
/* font-size:8px; */
}
li {
padding: 0.33em 0.5em;
margin-left: -0.5em;
}
.ingredient,
li {
border-radius: 2px;
}
.ingredient:hover,
li:hover {
background-color:rgba(0,0,0,0.1);
}
.spacer {
flex-grow: 1000;
}
.metadata img {
width:16px;
vertical-align: middle;
margin-top: -4px;
margin-right: 4px;
opacity:0.6;
}
/* .metadata div:after {
content: "•";
margin-left: 1em;
margin-right: 1em;
} */
/* .yield:before {
background-image: url("recipe/restaurant_black_24dp.svg");
}
.time:before,
.yield:before {
content:" ";
width: 16px;
/* height:16px; */
/* background-size: contain;
float:left;
margin-right:4px;
background-repeat: no-repeat;
background-position: center;
} */
.time:before {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='22' fill='none' viewBox='0 0 18 22'%3E%3Cpath fill='%23000' d='M4.031 17.953C5.406 19.328 7.063 20.016 9 20.016c1.938 0 3.578-.688 4.922-2.063 1.375-1.375 2.062-3.031 2.062-4.969 0-1.937-.687-3.578-2.062-4.921C12.578 6.687 10.937 6 9 6c-1.938 0-3.594.688-4.969 2.063-1.343 1.343-2.015 2.984-2.015 4.921 0 1.938.671 3.594 2.015 4.97zm12-10.547c.532.688.985 1.578 1.36 2.672.406 1.063.609 2.031.609 2.906 0 2.47-.875 4.594-2.625 6.375-1.75 1.75-3.875 2.625-6.375 2.625s-4.625-.875-6.375-2.625C.875 17.58 0 15.453 0 12.984c0-2.468.875-4.578 2.625-6.328C4.375 4.875 6.5 3.984 9 3.984c.844 0 1.813.204 2.906.61C13.031 5 13.937 5.469 14.625 6l1.406-1.453c.5.406.969.875 1.407 1.406L16.03 7.406zm-8.015 6.61v-6h1.968v6H8.016zM12 .984V3H6V.984h6z'/%3E%3C/svg%3E%0A");
}
.time {
background-size:18px;
background-repeat:no-repeat;
/* text-transform: uppercase; */
/* margin-bottom: 1em; */
}
.ingredients {
/* font-weight: 600; */
font-size: 100%;
position: sticky;
/* top: 0px; */
/* padding-top: 1.5em; */
flex: 0 1 35%;
/* color: rgba(0,0,0,0.8); */
/* color:
rgb(0, 118, 173); */
max-width: 16em;
}
.noun {
font-weight: 700;
color: var(--strong-text-color);
}
li:hover .noun {
text-decoration: 1px dotted underline;
/* background-color: var(--hover-background-color); */
}
.instructions {
white-space: pre-wrap;
/* line-height: 125%; */
/* font-size: 100%; */
flex: 1 1 65%;
/* margin-top: -0.7em; */
}
.instructions h3 {
font-weight: 500;
margin-top: 1em;
margin-bottom: 0.5em;
}
.instructions.numbered li {
padding-left: 2rem;
margin-left: -0.5rem;
}
.substep {
margin-bottom: 1em;
/* display: inline; */
}
.ingredient {
/* padding: .4em 0.4em; */
/* margin: 0 -.4em 1em -.4em; */
line-height: 120%;
/* opacity: 0.75; */
cursor: pointer;
margin-bottom: 0.2em;
}
.hanging .ingredient {
/* margin-left: -3rem; */
/* padding-left: 3rem; */
/* padding: 0.2em; */
/* padding-left: 2rem; */
display: table-row;
}
.ingredients .yield {
margin-bottom: 1.5em;
font-weight:bold;
text-transform: uppercase;
margin-left:2em;
}
.ingredients.hanging .quantity {
/* height: 2em; */
/* float:
left; */
/* margin-left: -2.1rem; */
/* max-width: 3rem; */
text-align: right;
color: var(--accent-color);
/* min-width: 2rem; */
white-space: nowrap;
width: 1em;
}
.ingredient:hover {
opacity: 1.0;
background-color: rgba(128, 128, 128, 0.1)
}
.step {
max-width: 80em;
cursor: default;
/* border:1px solid red; */
margin-bottom: 1em;
}
.instructions hr {
width: 5em;
height: 0.5px;
background-color: currentColor;
opacity: 1;
border:
none;
margin: 1em 0 0.2em 0 ;
}
hr {
/* width: 100px;
float: left;
height: 0.5px;
background-color: currentColor;
opacity: 0.54; */
}
.actions {
display: flex;
gap: 0.5em 1em;
line-height:24px;
/* margin-left: -4px; */
/* margin: 10px 0; */
order: -1;
/* margin-bottom: 1em; */
justify-content: flex-end;
margin-left: auto;
}
.action {
justify-content: center;
border-radius:50%;
cursor: pointer;
width: 44px;
height: 44px;
color: var(--accent-color);
/* display: flex;
align-items: center;
justify-content: center; */
/* text-align: center; */
/* line-height: 1.5em; */
/* background-color:
var(--hover-background-color); */
display: flex;
align-items: center;
}
.action:hover {
background-color:var(--hover-background-color);
color:var(--strong-text-color)
}
.action:hover:not(:active) .icon {
opacity:1.0;
}
.action .icon {
margin-right: 0;
/* opacity: 0.5; */
width: 24px;
height: 24px;
}
.instructions hr:nth-child(2) {
display:none;
}
@media screen and (max-width: 520px) {
#thumbnail-container {
margin: 0 -8vw;
background-color: var(--image-placeholder-color);
}
#thumbnail {
padding-top: 56.25%;
}
/* some CSS here */
.columns {
flex-direction: column;
gap:0;
}
.ingredient,
.instructions,
header {
/* padding: 0 .4em; */
padding-top: 0.5em;
}
caption {
padding-bottom:0.5em;
border-bottom:1px solid currentColor;
}
.ingredients {
/* border-top:0.5px solid currentColor; */
/* padding-top:1em; */
padding-bottom:1em;
margin-bottom:1em;
max-width: unset;
}
.instructions hr:first-child {
display:none;
}
.hanging .ingredient {
margin: 0;
/* margin-left: 3rem; */
/* margin-bottom:0.67em; */
}
.ingredients .yield {
margin-left:3em;
}
.instructions hr:first-child {
display:none;
}
.headerflex {
flex-direction:column;
}
}
.metadata .icon {
/* font-size: 15px; */
vertical-align: middle;
margin-top: -3px;
margin-right: 4px;
opacity: .6;
/* color:
transparent; */
user-select: none;
/* float: left; */
display: inline-block;
/* -webkit-print-color-adjust: exact; */
}
.instructions.numbered hr {/* margin: 0.7em -1px; *//* height: 1.5px; *//* opacity: 0.2; *//* width: auto; */}
.instructions.numbered {/* margin-top: -1.6em; */}
img.qr {
/* margin-top:2em; */
/* position: absolute; */
/* bottom:0; */
/* left: 0; */
/* max-width: 100%; */
/* height: auto; */
/* background-color: var(--background-color); */
/* display: table-caption; */
width: 5cm;
height: 5cm;
margin-left: 1em;
page-break-before: always;
}
@media screen and (max-width: 1199px) {
#thumbnail {
filter:none !important;
transform: none !important;
}
}
.recipe-content {
max-width:50em;
padding: 1em 0;
/* padding-left: 2em; */
}
@media screen and (min-width: 1200px) {
body {
width:auto;
margin:0;
}
.recipe {
flex-direction: row;
display: flex;
max-width: unset;
justify-content: center;
}
#thumbnail-container {
width: 100%;
height: 100vh;
position: fixed;
top: 0;
overflow:
hidden;
z-index: -1;
}
.thumbnail {
max-height: 100vh;
height: 100vh;
}
.recipe-content {
max-width:50em;
padding: 2em 4em;
background-color: var(--background-color);
margin-top: 35vh;
margin-bottom: 35vh;
}
}
.icon.print {
background-position: 0 0;
width: 24px;
height: 24px;
}
.icon.share {
/* background-position: 0 -24px; */
width: 24px;
height: 24px;
}
.icon.iosshare {
background-position: -24px 0;
width: 24px;
height: 24px;
}
.icon.checklist {
background-position: -24px -24px;
width: 24px;
height: 24px;
}
.icon.more {
background-position: -48px 0;
width: 24px;
height: 24px;
}
.icon.public {
/* background-position: -48px -24px; */
/* width: 24px; */
/* height: 24px; */
/* border: 1px solid black; */
}
.icon.servings {
background-position: -72px 0;
width: 16px;
height: 16px;
}
.icon.time {
background-position: -72px -16px;
width: 16px;
height: 16px;
}
.icon.info {
background-position: -72px -32px;
width: 16px;
height: 16px;
}
.icon.rating {
background-position: -88px 0;
width: 16px;
height: 16px;
}
@media (prefers-color-scheme: dark) {
body {
--text-color:white;
--strong-text-color:white;
--hover-background-color:rgba(255,255,255, 0.14);
--background-color:#222;
--disabled-text-color:
rgba(255,255,255, 0.54);
--accent-color:rgba(255,255,255, 0.7);
}
}
.headerflex {
display: flex;
clear: both;
flex-wrap: wrap;
flex-direction: row-reverse;
justify-content: space-between;
margin-bottom: 1em;
}
hr:first-child {
/* margin-top: -11em; */
/* float: left; */
}
span.number:after {
/* content: "."; */
}
.ingredient .noun {
font-weight: 800;
}
.headerleft {
/* flex: 0 1 100%; */
margin-right: auto;
}
section.ingredients caption {
content: "Ingredients";
margin-bottom: calc(1.3rem - 1em);
}
section.ingredients.hanging caption {
display: table-caption;
}
.hanging .ingredient .quantity:after {
content: "\00a0\00a0";
}
.instructions caption {
content: "Steps";
/* padding-right: 24px; */
margin-bottom: 1.3rem;
}
a.publisherlink,
.ingredients caption,
.instructions caption {
font-weight: 600;
font-size: 0.88rem;
text-transform: uppercase;
/* letter-spacing: 0.01rem; */
user-select: none;
color: var(--accent-color);
}
.ingredients caption,
.instructions caption {
text-align: left;
display: block;
margin-bottom: 1em;
}
.listtoggle {
/* float: right; */
display: inline-block;
/* vertical-align: bottom; */
/* margin-top: -7px; */
height: 16px;
vertical-align: middle;
margin-left: 0.5rem;
}
path {
fill: currentColor;
}
a.publisherlink {
/* order: -2; */
/* width: 100%; */
float: left;
text-decoration: none;
color: var(--disabled-text-color);
}
.headerleft h1 {
max-width: 16em;
}
span.timer.active.expired {
background-color: rgb(221, 40, 0);
}
/* Watches */
@media screen and (max-width: 220px) {
.watch-hide {
display: none !important;
}
body {
margin: 0 0vw 0 6vw;
}
html {
font-size:18px;
}
/* .quantity, span.bullet {
font-size:150%;
} */
}
html.watch .watch-hide {
display: none !important;
}
@media print {
body {
font-size: 14px;
min-height:100vh;
margin: 0;
padding: 0;
height: 100%;
}
.print-hide {
display: none !important;
}
.recipe {
margin:0;
max-width:
unset;
min-height: 100vh;
}
.recipe-content {
max-width:
unset;
/* padding-left: 2em; */
/* min-height: 100vh; */
height: 100%;
}
@page {
size: auto; /* auto is the initial value */
/* margin: 1cm; */
}
a[href]:after { content: none !important; }
img[src]:after { content: none !important; }
}
@media not print {
body {
color:var(--text-color);
}
.print-show {
display:none;
}
}
.ingredients {
}
.ingredients {
width: auto;
/* background-color: #eee; */
/* border: 1px solid #666666; */
border-spacing: 5px; /* cellspacing:poor IE support for this */
/* border-collapse: separate; */
border-spacing: 0 1em;
height: auto;
margin-bottom: auto;
}
.ingredients.hanging {
display: table;
}
.ingredient {
width: auto;
clear: both;
}
.hanging .ingredient {
}
.hanging .ingredient > * {
display: table-cell;
width: 99%;
}
.ingredient > * {
/* float: left; */ /* fix for buggy browsers */
/* background-color: red; */
/* padding: 0; */
/* margin: 0; */
/* margin-bottom: 1em; */
/* display: block; */
}
a.publisherlink:hover {
color: var(--accent-color);
}