|  |  | 
|  | // HTML & Body | 
|  |  | 
|  | html { | 
|  | /* | 
|  | Explicitly set the font size to the typical browser default to work around a | 
|  | bug in Chrome where <code> elements don't get the right font size when using | 
|  | @font-size=1rem (https://bugs.chromium.org/p/chromium/issues/detail?id=833697) | 
|  | */ | 
|  | font-size: 16px; | 
|  | scroll-behavior: smooth; | 
|  | } | 
|  |  | 
|  | body { | 
|  | color: $white; | 
|  | color: var(--text-white); | 
|  | font-family: 'Ubuntu', sans-serif; | 
|  | background: #9380BF; | 
|  | background-image: linear-gradient(90deg, #4BC0C8 0%, #C779D0 50%, #FEAC5E 100%); | 
|  | background-image: var(--rainbow); | 
|  | } | 
|  |  | 
|  | ::selection { | 
|  | background-color: #71DBE2; | 
|  | color: #3D1067; | 
|  | } | 
|  |  | 
|  | // ----------------------------- | 
|  | // Typography | 
|  |  | 
|  | .h2 { | 
|  | font-family: 'Livvic', sans-serif; | 
|  | font-size: 3.125em; | 
|  | line-height: 1.28; | 
|  | font-weight: 300; | 
|  | margin-bottom: 1.4em; | 
|  | margin-top: 1.4em; | 
|  | } | 
|  |  | 
|  | .h3 { | 
|  | font-size: 1.375em; | 
|  | font-weight: 700; | 
|  | margin-bottom: 0.6363em; | 
|  | } | 
|  |  | 
|  | .bodytext { | 
|  | font-size: 1.125em; | 
|  | line-height: 1.778; | 
|  |  | 
|  | &--large { | 
|  | font-size: 1.375em; | 
|  | line-height: 1.636; | 
|  | } | 
|  | } | 
|  |  | 
|  | .quote { | 
|  | font-family: 'Livvic', sans-serif; | 
|  | font-size: calc(2em + 1vw); | 
|  | line-height: 1.28; | 
|  | font-weight: 300; | 
|  | } | 
|  |  | 
|  | // ----------------------------- | 
|  | // Buttons | 
|  |  | 
|  | .btn { | 
|  | display: inline-block; | 
|  | background: $white; | 
|  | background: var(--background); | 
|  | border-radius: 0.3125em; | 
|  | color: $medium-purple; | 
|  | color: var(--text-second); | 
|  | text-transform: uppercase; | 
|  | font-weight: 400; | 
|  | font-size: 1.375em; | 
|  | line-height: 1; | 
|  | letter-spacing: 0.136em; | 
|  | padding: 0.636em 1em; | 
|  | text-decoration: none; | 
|  | transition: background 0.2s ease-out; | 
|  |  | 
|  | &:hover, | 
|  | &:focus { | 
|  | background: lighten($medium-purple, 40%); | 
|  | } | 
|  |  | 
|  | &:focus { | 
|  | outline: 1px dashed $dark-purple; | 
|  | outline-offset: -0.3125em; | 
|  | } | 
|  | } | 
|  |  | 
|  | // ----------------------------- | 
|  | // A11y related classes | 
|  |  | 
|  | button:focus:not(:focus-visible), | 
|  | a:focus:not(:focus-visible) { | 
|  | outline: 2px solid transparent; | 
|  | } | 
|  |  | 
|  | .sr-only:not(:focus):not(:active) { | 
|  | clip: rect(0 0 0 0); | 
|  | clip-path: inset(50%); | 
|  | height: 1px; | 
|  | overflow: hidden; | 
|  | position: absolute; | 
|  | white-space: nowrap; | 
|  | width: 1px; | 
|  | } |