// ========================================================================== // Elements / Normalize // ========================================================================== // Modern CSS Normalize // Based on the reset by Andy.set with some tweaks. // Original by Andy.set: https://piccalil.li/blog/a-more-modern-css-reset/ // Review by Chris collier: https://chriscoyier.net/2023/10/03/being-picky-about-a-css-reset-for-fun-pleasure/ // Box sizing rules *, *:before, *:after { box-sizing: border-box; } // Prevent font size inflation html { -moz-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none; } // Remove default margin in favour of better control in authored CSS p, h1, h2, h3, h4, dl, dd, body, figure, blockquote { margin-block-end: 0; } // Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed ul[class], ol[class] { margin: 0; padding: 0; list-style: none; } // Set core html defaults html { line-height: 1.5; } // Set shorter line heights on headings and interactive elements h1, h2, h3, h4, button, input, label { line-height: 1.1; } // Balance text wrapping on headings h1, h2, h3, h4 { text-wrap: balance; } // Remove a elements default styles if they have a class a[class] { color: inherit; text-decoration: none; } // Make images easier to work with img, picture { max-width: 100%; display: block; } // Inherit fonts for inputs and buttons input, button, select, textarea { font: inherit; } // Make sure textareas without a rows attribute are not tiny textarea:not([rows]) { min-height: 10em; } // Anything that has been anchored to should have extra scroll margin :target { scroll-margin-block: 1rlh; }