header { background-color: transparent; } header .header-content { margin-bottom: 0; } main { display: flex; flex-direction: column; align-items: center; margin: clamp(2.5rem, 2rem + 4vw, 5rem) 8vw 0; } /* The note itself: a sticky note taped to the page */ .note { --note-colour: var(--colour-yellow); --note-fold-colour: hsla(61, 55%, 58%, 1); /* Everything on the note sits on yellow paper, whichever theme is active */ --border-colour: var(--colour-black); --text-colour-link: var(--colour-black); position: relative; width: 100%; max-width: 36rem; padding: clamp(2.25rem, 1.75rem + 2vw, 3.5rem) clamp(1.5rem, 1rem + 2.5vw, 3rem) clamp(2rem, 1.5rem + 2vw, 3rem); background-color: var(--note-colour); color: var(--colour-black); rotate: -1.5deg; box-shadow: 0 1px 2px hsla(0, 0%, 0%, 0.2), 0 18px 30px -12px hsla(0, 0%, 0%, 0.45); } /* Tape */ .note::before { content: ""; position: absolute; top: -0.85rem; left: 50%; width: clamp(5.5rem, 4.5rem + 4vw, 8rem); height: 1.75rem; translate: -50% 0; rotate: 3deg; background-color: hsla(60, 40%, 96%, 0.65); box-shadow: 0 1px 2px hsla(0, 0%, 0%, 0.15); } /* Peeled corner */ .note::after { content: ""; position: absolute; right: 0; bottom: 0; width: 2.5rem; height: 2.5rem; background: linear-gradient( to top left, var(--background-colour) 50%, var(--note-fold-colour) 50% ); } .note-text { margin: 0; font-family: var(--secondary-font-family); font-size: clamp(1.25rem, 1rem + 1.2vw, 1.75rem); line-height: 1.5; overflow-wrap: anywhere; } .note a { color: var(--colour-black); text-decoration-thickness: 2px; } .note a:hover, .note a:focus-visible { text-decoration: none; } /* Photos sit on the note like prints */ .note-images { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-top: 1.75rem; & img { display: block; max-width: 100%; max-height: 30rem; width: auto; height: auto; border: 0.5rem solid var(--colour-paper); box-shadow: 0 2px 6px hsla(0, 0%, 0%, 0.25); rotate: 1deg; } & img:nth-child(even) { rotate: -1.5deg; } /* Several photos sit side by side rather than stacking into a very long note */ &:has(img + img) img { max-width: calc(50% - 0.5rem); } } .note-card { display: flex; margin-top: 1.75rem; border: 2px solid var(--colour-black); background-color: var(--colour-paper); color: var(--colour-black); text-decoration: none; transition: box-shadow 0.15s ease-out; &:hover, &:focus-visible { box-shadow: 5px 5px 0 0 var(--colour-black); } & img { flex-shrink: 0; width: clamp(5rem, 4rem + 4vw, 8rem); object-fit: cover; border-right: 2px solid var(--colour-black); } } .note-card-text { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; padding: 0.75rem 1rem; font-size: clamp(0.875rem, 0.8185rem + 0.3226vw, 1rem); } .note-card-title { font-weight: 500; } .note-card-description { display: -webkit-box; line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .note-card-host { margin-top: auto; font-family: var(--font-family-monospace); font-size: 0.75rem; } .note-quote { margin: 1.75rem 0 0; padding: 0.75rem 1rem; border-left: 4px solid var(--colour-black); background-color: hsla(0, 0%, 100%, 0.4); font-size: clamp(0.875rem, 0.8185rem + 0.3226vw, 1rem); overflow-wrap: anywhere; & p { margin: 0; line-height: 1.5; } & .note-quote-author { margin-top: 0.75rem; font-weight: 500; } & .note-quote-author span { font-weight: 400; } } .note-quote-link { margin: 1.5rem 0 0; } .note-signature { margin: 2rem 2.5rem 0 0; text-align: right; font-family: var(--secondary-font-family); font-style: italic; font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem); } .note-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 2rem; margin: clamp(2.5rem, 2rem + 3vw, 4rem) 0 0; font-weight: 500; } .note-nav { display: flex; justify-content: center; margin: 8vw; & .links-nextprev { width: 100%; max-width: 900px; } }