Last active
December 8, 2020 03:24
-
-
Save andreasvirkus/339d0696572c6591ae31e981bcdd771c to your computer and use it in GitHub Desktop.
When I'm too lazy to set up Tailwind and PurgeCSS for a prototype or a small project, then this will do.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Handicraft reset */ | |
*, | |
*::before, | |
*::after { | |
box-sizing: inherit; | |
} | |
html { | |
box-sizing: border-box; | |
} | |
body { | |
min-height: 100vh; | |
} | |
body, | |
body * { | |
margin: 0; | |
padding: 0; | |
} | |
body, | |
button, | |
input, | |
textarea { | |
font-family: -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, Ubuntu; | |
-webkit-font-smoothing: antialiased; | |
-moz-osx-font-smoothing: grayscale; | |
} | |
ol, | |
ul { | |
list-style: none; | |
} | |
/* Global styles */ | |
:root { | |
--brand: #223; | |
--gray: #8c8c8c; | |
--contrast: #475DE5; | |
} | |
h1 { | |
font-size: 1.875rem; | |
line-height: 2.25rem; | |
color: var(--gray-80); | |
font-weight: 700; | |
} | |
button { | |
display: block; | |
border: none; | |
background: none; | |
color: inherit; | |
font-size: inherit; | |
} | |
button[disabled], | |
.cursor-disabled { | |
cursor: not-allowed; | |
} | |
label, | |
button, | |
.cursor-pointer { | |
cursor: pointer; | |
} | |
.break-all { | |
word-break: break-all; | |
} | |
.break-word { | |
word-break: break-word; | |
} | |
a { | |
text-decoration: none; | |
color: inherit; | |
} | |
.content-link { | |
display: inline-block; | |
color: var(--brand); | |
font-weight: 500; | |
} | |
.content-link:hover { | |
text-decoration: underline; | |
} | |
::placeholder { | |
color: var(--gray); | |
} | |
::selection { | |
background-color: var(--contrast); | |
color: white; | |
} | |
.profile-image { | |
border-radius: 50%; | |
height: 2rem; | |
width: 2rem; | |
} | |
.bg-none { | |
background-color: transparent; | |
} | |
.border-top { | |
border-top: 1px solid var(--gray); | |
} | |
.border-right { | |
border-right: 1px solid var(--gray); | |
} | |
.border-bottom { | |
border-bottom: 1px solid var(--gray); | |
} | |
.border-left { | |
border-left: 1px solid var(--gray); | |
} | |
.color-white { | |
color: white; | |
} | |
.color-contrast { | |
color: var(--contrast); | |
} | |
.text-center { | |
text-align: center; | |
} | |
.text-right { | |
text-align: right; | |
} | |
.text-left { | |
text-align: left; | |
} | |
.text-ellipsis { | |
overflow: hidden; | |
white-space: nowrap; | |
text-overflow: ellipsis; | |
} | |
.text-uppercase { | |
text-transform: uppercase; | |
} | |
.icon-xs { | |
height: 0.7rem; | |
width: 0.7rem; | |
} | |
.icon-s { | |
height: 0.825rem; | |
width: 0.825rem; | |
} | |
.icon-m { | |
height: 1rem; | |
width: 1rem; | |
} | |
.icon-l { | |
height: 1.5rem; | |
width: 1.5rem; | |
} | |
.icon--flipped-y { | |
transform: rotateY(180deg); | |
} | |
.icon--flipped-x { | |
transform: rotateX(180deg); | |
} | |
.icon--flipped { | |
transform: rotate(180deg); | |
} | |
.icon--rotated-left { | |
transform: rotate(-90deg); | |
} | |
.icon--rotated-right { | |
transform: rotate(90deg); | |
} | |
.padded-s { | |
padding: 0.5rem; | |
} | |
.padded-m { | |
padding: 1rem; | |
} | |
.padded-l { | |
padding: 1.5rem; | |
} | |
.padded-xl { | |
padding: 2rem; | |
} | |
.padded-0 { | |
padding: 0 !important; | |
} | |
.padded { | |
padding: 1rem; | |
} | |
.anim-spin { | |
animation: spin 2s ease-out infinite; | |
} | |
@keyframes spin { | |
100% { | |
transform: rotate(360deg); | |
} | |
} | |
.anim-shake { | |
animation: shake 0.85s cubic-bezier(0.36, 0.07, 0.19, 0.97) both; | |
} | |
@keyframes shake { | |
10%, | |
90% { | |
transform: translate3d(-1px, 0, 0); | |
} | |
20%, | |
80% { | |
transform: translate3d(2px, 0, 0); | |
} | |
30%, | |
50%, | |
70% { | |
transform: translate3d(-4px, 0, 0); | |
} | |
40%, | |
60% { | |
transform: translate3d(4px, 0, 0); | |
} | |
} | |
.hidden-visually { | |
pointer-events: none !important; | |
position: fixed !important; | |
opacity: 0 !important; | |
top: -10vh; | |
} | |
@media screen and (min-width: 65.01rem) { | |
.hidden-wide { | |
opacity: 0; | |
visibility: hidden; | |
pointer-events: none; | |
} | |
.hidden-wide--shift { | |
display: none; | |
} | |
} | |
@media screen and (max-width: 65rem) { | |
.hidden-medium { | |
opacity: 0; | |
visibility: hidden; | |
pointer-events: none; | |
} | |
.hidden-medium--shift { | |
display: none; | |
} | |
} | |
@media screen and (max-width: 40rem) { | |
.hidden-narrow { | |
opacity: 0; | |
visibility: hidden; | |
pointer-events: none; | |
} | |
.hidden-narrow--shift { | |
display: none; | |
} | |
} | |
.weight-default { | |
font-weight: 400; | |
} | |
.weight-m, | |
.weight-bold { | |
font-weight: 500; | |
} | |
.weight-l, | |
.weight-bolder { | |
font-weight: 700; | |
} | |
.font-s { | |
font-size: 0.875rem; | |
} | |
.font-xs { | |
font-size: 0.75rem; | |
} | |
.font-l { | |
font-size: 1.25rem; | |
} | |
.intrinsic { | |
position: relative; | |
height: 0; | |
padding-bottom: calc(100% / (var(--aspect-ratio))); | |
} | |
.intrinsic-content { | |
position: absolute; | |
top: 0; | |
left: 0; | |
height: 100%; | |
width: 100%; | |
} | |
.full-height { | |
height: 100%; | |
} | |
.f-v-center { | |
display: flex; | |
align-items: center; | |
} | |
.f-h-center { | |
display: flex; | |
justify-content: center; | |
} | |
.f-center { | |
display: flex; | |
align-items: center; | |
justify-content: center; | |
} | |
.f-space { | |
display: flex; | |
justify-content: space-between; | |
} | |
.f-start { | |
display: flex; | |
justify-content: flex-start; | |
} | |
.f-end { | |
display: flex; | |
justify-content: flex-end; | |
} | |
.f-row { | |
display: flex; | |
flex-direction: row; | |
} | |
.f-row-reverse { | |
display: flex; | |
flex-direction: row-reverse; | |
} | |
.f-col { | |
display: flex; | |
flex-direction: column; | |
} | |
.f-col-reverse { | |
display: flex; | |
flex-direction: column-reverse; | |
} | |
.f-grow { | |
flex-grow: 1; | |
} | |
.d-inline-block { | |
display: inline-block; | |
} | |
.d-inline-flex { | |
display: inline-flex; | |
} | |
.m-right-xxs { | |
margin-right: 0.25rem; | |
} | |
.m-right-xs { | |
margin-right: 0.5rem; | |
} | |
.m-right-s { | |
margin-right: 0.75rem; | |
} | |
.m-right-m { | |
margin-right: 1.5rem; | |
} | |
.m-right-l { | |
margin-right: 3rem; | |
} | |
.m-right-a { | |
margin-right: auto; | |
} | |
.m-left-xxs { | |
margin-left: 0.25rem; | |
} | |
.m-left-xs { | |
margin-left: 0.5rem; | |
} | |
.m-left-s { | |
margin-left: 0.75rem; | |
} | |
.m-left-m { | |
margin-left: 1.5rem; | |
} | |
.m-left-a { | |
margin-left: auto; | |
} | |
.m-top-xxs { | |
margin-top: 0.25rem; | |
} | |
.m-top-xs { | |
margin-top: 0.5rem; | |
} | |
.m-top-s { | |
margin-top: 0.75rem; | |
} | |
.m-top-m { | |
margin-top: 1.5rem; | |
} | |
.m-top-l { | |
margin-top: 3rem; | |
} | |
.m-bottom-xxs { | |
margin-bottom: 0.25rem; | |
} | |
.m-bottom-xs { | |
margin-bottom: 0.5rem; | |
} | |
.m-bottom-s { | |
margin-bottom: 0.75rem; | |
} | |
.m-bottom-m { | |
margin-bottom: 1.5rem; | |
} | |
.m-bottom-l { | |
margin-bottom: 3rem; | |
} | |
.m-a-l { | |
margin: 3rem; | |
} | |
.m-a-s { | |
margin: 1rem; | |
} | |
.m-a-m { | |
margin: 1.5rem; | |
} | |
.m-x-l { | |
margin-left: 3rem; | |
margin-right: 3rem; | |
} | |
.m-x-m { | |
margin-left: 1.5rem; | |
margin-right: 1.5rem; | |
} | |
.m-x-s { | |
margin-left: 1rem; | |
margin-right: 1rem; | |
} | |
.m-x-xs { | |
margin-left: 0.5rem; | |
margin-right: 0.5rem; | |
} | |
.m-x-xxs { | |
margin-left: 0.2rem; | |
margin-right: 0.2rem; | |
} | |
.m-left-0 { | |
margin-left: 0 !important; | |
} | |
.m-bottom-0 { | |
margin-bottom: 0 !important; | |
} | |
/* Custom scrollbars */ | |
:root { | |
--scrollbar-size: 6px; | |
--scrollbar-minlength: 24px; | |
--scrollbar-track-color: transparent; | |
--scrollbar-color: rgba(74, 85, 104, 0.3); | |
} | |
.scrollbar-test { | |
overflow-y: auto; | |
} | |
* { | |
scrollbar-width: thin; | |
scrollbar-color: var(--scrollbar-color) var(--scrollbar-track-color); | |
} | |
.layout-scrollbar-obtrusive *::-webkit-scrollbar { | |
height: var(--scrollbar-size); | |
width: var(--scrollbar-size); | |
} | |
::-webkit-scrollbar-track { | |
background-color: var(--scrollbar-track-color); | |
} | |
::-webkit-scrollbar-thumb { | |
background-color: var(--scrollbar-color); | |
border-radius: 3px; | |
} | |
::-webkit-scrollbar-thumb:vertical, | |
::-webkit-scrollbar-thumb:vertical { | |
min-height: var(--scrollbar-minlength); | |
} | |
::-webkit-scrollbar-thumb:horizontal, | |
::-webkit-scrollbar-thumb:horizontal { | |
min-width: var(--scrollbar-minlength); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment