:root { --color-grey-100: #F9FAFB; --color-grey-200: #F3F4F6; --color-grey-300: #E5E7EB; --color-grey-400: #D1D5DB; --color-grey-500: #9CA3AF; --color-grey-800: #4B5563; --color-grey-900: #3A3A3A; --color-white: #ffffff; --box-shadow-light: 0 4px 4px 0 rgba(0, 0, 0, .1); --box-shadow-heavy: 0 4px 8px 4px rgba(0, 0, 0, .1); --shadow-md: 0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06); --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05); --shadow-xl: 0 25px 50px -12px rgba(0,0,0,0.25); } body { display: flex; flex-direction: column; } main { display: flex; flex-direction: column; } // The x-cloak attribute is automatically removed from elements when Alpine initializes. They should not be visible before then to avoid flickering content [x-cloak] { display: none !important; } section { padding: 30px 0; @include mq(medium) { padding: 60px 0; } } h1 { text-align: center; font-size: clamp(3rem,calc(1rem + 3vw),4rem); margin-bottom: 18px; } h2 { text-align: center; font-size: clamp(2rem,calc(1rem + 2vw),3.4rem); margin-bottom: 42px; } h3 { font-size: clamp(1.6rem,calc(1rem + 1vw),2.6rem); margin-bottom: 18px; } a { color: var(--color-secondary); text-decoration: underline 2px; text-underline-offset: 2px; &:hover, &:focus { outline: none; text-decoration: underline 4px; } &:focus-visible { outline: 2px solid var(--color-secondary); } } button { cursor: pointer; } input { &:focus { outline: none; box-shadow: 0 0 0 2px var(--color-secondary); } }