/* RESET ===================================================== */ body{ background: white; color: black; } body > header{ display: none; } body > section.grid-display > .column-fixed{ display: none; } body > section.grid-display { display: block; padding: 0 !important; } .text-content{ max-width: none; } a, a:visited { color: currentColor; text-decoration-thickness: 0.04em; } /* VARIABLES ===================================================== */ :root{ /* reduce a bit the lh for print */ --lh: 1.3rem; --fs-big: 5rem; /* --fs-big: 4.6rem; */ --fs-mono-big: 2.4rem; --fs-main: 11pt; /* notes: - 12pt is a bit too much for main text */ /* variable for flyer */ --bleeds: 5mm; --bleeds-print: 3mm; /* A5 */ --page-inner-w: 210mm; --page-inner-h: 148mm; --page-w: calc(var(--page-inner-w) + calc(var(--bleeds) * 2)); --page-h: calc(var(--page-inner-h) + calc(var(--bleeds) * 2)); } html{ font-size: var(--fs-main); } /* PRINT LAYOUT ===================================================== */ .container{ position: relative; } .layer{ position: absolute; inset: 0; } .bleeds{ position: absolute; inset: calc(-1 * var(--bleeds-print)); } .pad{ padding: var(--lh) calc(var(--lh) * 1.5); } .page{ width: var(--page-w); height: var(--page-h); box-sizing: border-box; position: relative; overflow: visible; /* https://developer.mozilla.org/en-US/docs/Web/CSS/break-after */ break-after: page; page-break-inside: avoid; } .page > .page-content{ position: relative; box-sizing: border-box; margin: var(--bleeds); top: var(--bleeds); margin-top: 0; width: var(--page-inner-w); height: var(--page-inner-h); } .page-rotate{ width: var(--page-h); height: var(--page-w); position: absolute; top: 100%; right: 0; transform-origin: top right; transform: rotate(90deg); } /* crops mark */ :root{ /* --- variables */ --crop-marks-w: 1px; --crop-marks-space: 1mm; /* --- pre-computed values */ --crop-mark-gradient: white 0, white var(--crop-marks-w), black var(--crop-marks-w), black calc(var(--crop-marks-w) * 2) ; --crop-marks-l: linear-gradient(to right, var(--crop-mark-gradient)); --crop-marks-r: linear-gradient(to left, var(--crop-mark-gradient)); --crop-marks-t: linear-gradient(to bottom, var(--crop-mark-gradient)); --crop-marks-b: linear-gradient(to top, var(--crop-mark-gradient)); --crop-mark-v-sizes: calc(var(--crop-marks-w) * 2) calc(var(--bleeds) - var(--crop-marks-space)); --crop-mark-h-sizes: calc(var(--bleeds) - var(--crop-marks-space)) calc(var(--crop-marks-w) * 2); } .page::after{ content: ''; position: absolute; inset: 0; background: var(--crop-marks-l), var(--crop-marks-r), var(--crop-marks-l), var(--crop-marks-r), var(--crop-marks-t), var(--crop-marks-b), var(--crop-marks-t), var(--crop-marks-b) ; background-size: var(--crop-mark-v-sizes), var(--crop-mark-v-sizes), var(--crop-mark-v-sizes), var(--crop-mark-v-sizes), var(--crop-mark-h-sizes), var(--crop-mark-h-sizes), var(--crop-mark-h-sizes), var(--crop-mark-h-sizes) ; background-position: calc(var(--bleeds) - var(--crop-marks-w)) 0%, calc(var(--page-w) - var(--bleeds) - var(--crop-marks-w)) 0%, calc(var(--bleeds) - var(--crop-marks-w)) 100%, calc(var(--page-w) - var(--bleeds) - var(--crop-marks-w)) 100%, 0% calc(var(--bleeds) - var(--crop-marks-w)), 0% calc(var(--page-h) - var(--bleeds) - var(--crop-marks-w)), 100% calc(var(--bleeds) - var(--crop-marks-w)), 100% calc(var(--page-h) - var(--bleeds) - var(--crop-marks-w)) ; background-repeat: no-repeat; pointer-events: none; } @media only screen { body{ background-color: whitesmoke; } .page{ margin: 1cm auto; outline: 1px yellowgreen solid; background: white; } .page-content::after{ content: ''; position: absolute; inset: 0; outline: 1px green solid; pointer-events: none; } } /* FLYER ===================================================== */ .flyer{ --clr-back: white; --clr-text: black; --border-width: 0.5px; --border: var(--border-width) solid var(--clr-text); } .flyer section.data-section { padding: calc(var(--lh) * 1) 0 0; } .flyer section.data-section > *{ z-index: 9; position: relative; } .flyer section.data-section:after{ line-height: 1.1; } /* RECTO ===================================================== */ .recto__title{ margin-left: calc(0 * var(--lh)); position: relative; } .recto__title h2{ line-height: 0.95; display: inline-block; } .recto__title h2:nth-of-type(3){ /* margin-left: calc(var(--lh) * 2); */ } .new-moon-slanted-fvs, .full-moon-slanted-fvs{ text-transform: none !important; } .recto__text{ display: grid; grid-template-rows: min-content 1fr min-content; gap: calc(var(--lh) * 2); } .recto__langs{ display: flex; gap: var(--lh); margin-left: calc(var(--lh) * 4); height: min-content; margin-top: auto; } .recto__langs > *{ flex: 0 1 100%; gap: var(--lh); } .recto__lang > p{ margin: 0; } /* VERSO ===================================================== */ .verso{ --clr-back: black; --clr-text: white; --border: var(--border-width) solid var(--clr-text); } .verso .data-section:after{ color: black; } .verso__calendar{ display: grid; grid-template-rows: 1fr min-content; gap: calc(var(--lh) / 2); } .date-time-info{ line-height: var(--lh); } /* GRADIENTS ===================================================== */ .recto{ color: black; --border-width: 1px; --border: var(--border-width) solid var(--clr-text); } .recto__back{ background: linear-gradient(to top, black calc(var(--bleeds-print) + calc(var(--lh) * 0.5)), white calc(var(--bleeds-print) + calc(var(--lh) * 3)) ); } .verso{ color: white; } .verso__back{ background: linear-gradient(to top, white calc(var(--bleeds-print) + calc(var(--lh) * 0.5)), black calc(var(--bleeds-print) + calc(var(--lh) * 3)) ); } /* FOOTERS ===================================================== */ .mono{ line-height: var(--lh); } .recto__footer{ display: flex; justify-content: flex-end; color: white; } .verso__footer{ color: black; display: flex; justify-content: flex-end; } .recto__footer .mono, .verso__footer .mono{ line-height: 1; } /* CALENDAR ===================================================== */ .flyer section.data-section.calendar-content > header{ position: absolute; top: -0.9em; right: 0; height: var(--lh); background: black; padding-left: var(--lh); } .flyer-cal-entry{ display: flex; align-items: baseline; height: var(--lh); justify-content: space-between; justify-content: flex-start; gap: var(--lh); } .flyer-cal-entry .day { width: 6em; margin-right: calc(var(--lh) * 0.5); } .flyer-cal-entry .phase-name { width: 4.6em; margin-left: calc(var(--lh) * 2.5); } .flyer-cal-entry > *{ flex-grow: 0; background-color: black; } .cal-entry__time{ flex-grow: 1; background: none; } .moon-time{ background-color: black; padding: 0.2em 0; } /* --- moon drawing */ .cal-entry__moon { width: calc(var(--lh) * 2); margin-right: 1em; } .moon-drawing { width: 1em; height: 1em; border-radius: 100%; position: relative; top: 0.2em; } .fullmoon .moon-drawing{ background: white; } .newmoon .moon-drawing{ border: 0.12em dotted white; box-sizing: border-box; overflow: visible; } /* SVG DRAWING ===================================================== */ .recto__drawing svg{ display: block; margin: 0 auto; max-width: 100%; position: absolute; /* top: var(--lh); max-height: 86%; right: 14%; */ top: calc(var(--lh) * 2); max-height: 82.0%; right: 16.4%; } .recto__drawing path{ fill: none; stroke: white; vector-effect: non-scaling-stroke; stroke-width: var(--border-width); /* stroke-dasharray: 4; */ }