/* Modern CSS Reset */ /* Box sizing rules */ *, *::before, *::after { box-sizing: border-box; } /* Remove default margin */ body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd { margin: 0; } /* Remove list styles on ul, ol elements with a list role */ ul[role='list'], ol[role='list'] { list-style: none; padding: 0; margin: 0; } /* Set core root defaults */ html:focus-within { scroll-behavior: smooth; } /* Set core body defaults */ body { min-height: 100vh; text-rendering: optimizeSpeed; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* A elements that don't have a class get default styles */ a:not([class]) { text-decoration-skip-ink: auto; } /* Make images easier to work with */ img, picture, video, canvas, svg { display: block; max-width: 100%; } /* Inherit fonts for inputs and buttons */ input, button, textarea, select { font: inherit; } /* Remove all animations, transitions and smooth scroll for people that prefer not to see them */ @media (prefers-reduced-motion: reduce) { html:focus-within { scroll-behavior: auto; } *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } } /* Reset button styles */ button { background: none; border: none; padding: 0; cursor: pointer; text-align: inherit; color: inherit; } /* Form elements */ fieldset { margin: 0; padding: 0; border: 0; } /* Text area */ textarea { resize: vertical; } /* Remove default focus styles and add custom ones */ :focus { outline: none; } :focus-visible { outline: 2px solid var(--heat-100); outline-offset: 2px; } /* Prevent iOS zoom on form focus */ @media (hover: none) { input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], input[type="search"], input[type="url"], textarea, select { font-size: 16px !important; } }