/* Global Stylesheet */ @import './colors.scss'; @import './media-queries.scss'; @import './typography.scss'; /* CSS Reset - Normalize dimensions and spacing across browsers */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; font-family: inherit; } ::selection { background: var(--primary); color: var(--background); } /* HTML and body basic setup */ html { font-size: 16px; scroll-behavior: smooth; } body { font-family: 'Hubot Sans', 'Inter', 'Helvetica Neue', Arial, sans-serif; line-height: 1; color: var(--text-color); background: var(--background); overflow-x: hidden; font-weight: 400; margin: 0; min-height: 100vh; } /* Links */ a { color: inherit; text-decoration: none; &:hover, &:focus { text-decoration: underline; } } /* Images */ img { max-width: 100%; height: auto; } /* Typography */ h1, h2, h3, h4, h5, h6 { color: inherit; margin-top: 0; margin-bottom: 0.5em; font-weight: normal; } p { margin-top: 0; margin-bottom: 1em; } ul, ol { margin-top: 0; margin-bottom: 1em; padding-left: 20px; } /* Forms */ input, button, textarea, select { font: inherit; &:focus { outline: 1px solid var(--primary); } } /* Utility Classes */ .text-center { text-align: center; } .hidden { display: none; } .bold { font-weight: 600; } .italic { font-style: italic; } .underline { text-decoration: underline; } .uppercase { text-transform: uppercase; } @media (max-width: 768px) { html { font-size: 14px; } } h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0.5em; font-weight: 600; color: var(--text-color); } h1 { font-size: 2.25rem; } h2 { font-size: 1.8rem; } h3 { font-size: 1.5rem; } h4 { font-size: 1.2rem; } h5 { font-size: 1rem; } h6 { font-size: 0.85rem; } // Responsive font sizes @media (max-width: 768px) { h1 { font-size: 2rem; } h2 { font-size: 1.6rem; } h3 { font-size: 1.4rem; } } p { margin-top: 0; margin-bottom: 1em; } a { color: var(--primary); text-decoration: none; &:hover { text-decoration: underline; } }