diff options
Diffstat (limited to 'assets')
-rw-r--r-- | assets/css/_basics.scss | 24 | ||||
-rw-r--r-- | assets/css/_utils.scss | 4 | ||||
-rw-r--r-- | assets/css/_vars.scss | 4 | ||||
-rw-r--r-- | assets/css/components/_card.scss | 59 | ||||
-rw-r--r-- | assets/css/components/_section-heading.scss | 28 | ||||
-rw-r--r-- | assets/css/layouts/_card-grid.scss | 7 | ||||
-rw-r--r-- | assets/css/objects/_icon.scss | 12 | ||||
-rw-r--r-- | assets/css/style.scss | 5 |
8 files changed, 124 insertions, 19 deletions
diff --git a/assets/css/_basics.scss b/assets/css/_basics.scss index eee48f4..64b11cf 100644 --- a/assets/css/_basics.scss +++ b/assets/css/_basics.scss | |||
@@ -76,6 +76,11 @@ strong { | |||
76 | font-weight: bold; | 76 | font-weight: bold; |
77 | } | 77 | } |
78 | 78 | ||
79 | small { | ||
80 | color: prop(--colors --fg-hi); | ||
81 | font-size: 1 / 16 * 14em; | ||
82 | } | ||
83 | |||
79 | ul, | 84 | ul, |
80 | ol { | 85 | ol { |
81 | margin: ($line-height * 1em) 0 0; | 86 | margin: ($line-height * 1em) 0 0; |
@@ -175,27 +180,12 @@ h1 { | |||
175 | } | 180 | } |
176 | 181 | ||
177 | p { | 182 | p { |
178 | margin: ($line-height * 1em) 0 0; | 183 | margin: ($line-height * 1em) 0 0; |
179 | hyphens: auto; | ||
180 | } | 184 | } |
181 | 185 | ||
182 | :link, | 186 | :link, |
183 | :visited { | 187 | :visited { |
184 | position: relative; | 188 | color: var(--link--idle--fg); |
185 | z-index: 1; | ||
186 | margin: 0 -.3em; | ||
187 | padding: .2em .3em; | ||
188 | color: var(--link--idle--fg); | ||
189 | |||
190 | &:hover { | ||
191 | background-color: var(--link--hover--bg); | ||
192 | color: var(--link--hover--fg); | ||
193 | text-decoration: none; | ||
194 | } | ||
195 | |||
196 | strong { | ||
197 | color: currentColor; | ||
198 | } | ||
199 | } | 189 | } |
200 | 190 | ||
201 | hr { | 191 | hr { |
diff --git a/assets/css/_utils.scss b/assets/css/_utils.scss index bca50d8..3eff6fc 100644 --- a/assets/css/_utils.scss +++ b/assets/css/_utils.scss | |||
@@ -19,3 +19,7 @@ | |||
19 | @include utility('mt0') { | 19 | @include utility('mt0') { |
20 | margin-top: 0; | 20 | margin-top: 0; |
21 | } | 21 | } |
22 | |||
23 | @include utility('db') { | ||
24 | display: block; | ||
25 | } | ||
diff --git a/assets/css/_vars.scss b/assets/css/_vars.scss index 0c6102d..1ef0c8a 100644 --- a/assets/css/_vars.scss +++ b/assets/css/_vars.scss | |||
@@ -2,7 +2,7 @@ $breakpoints: ( | |||
2 | xs: 320px, | 2 | xs: 320px, |
3 | sm: 600px, | 3 | sm: 600px, |
4 | md: 900px, | 4 | md: 900px, |
5 | lg: 1400px, | 5 | lg: 1500px, |
6 | ); | 6 | ); |
7 | 7 | ||
8 | $unit-intervals: ( | 8 | $unit-intervals: ( |
@@ -22,7 +22,7 @@ $subcontent--indent: 2em; | |||
22 | 22 | ||
23 | $gray0: hsl(220, 0%, 6%); | 23 | $gray0: hsl(220, 0%, 6%); |
24 | $gray1: hsl(220, 0%, 9%); | 24 | $gray1: hsl(220, 0%, 9%); |
25 | $gray2: hsl(220, 0%, 16%); | 25 | $gray2: hsl(220, 0%, 15%); |
26 | $gray3: hsl(220, 0%, 29%); | 26 | $gray3: hsl(220, 0%, 29%); |
27 | $gray4: hsl(220, 0%, 54%); | 27 | $gray4: hsl(220, 0%, 54%); |
28 | $gray5: hsl(220, 0%, 73%); | 28 | $gray5: hsl(220, 0%, 73%); |
diff --git a/assets/css/components/_card.scss b/assets/css/components/_card.scss new file mode 100644 index 0000000..4b3a094 --- /dev/null +++ b/assets/css/components/_card.scss | |||
@@ -0,0 +1,59 @@ | |||
1 | @include namespace('card') { | ||
2 | @include store(( | ||
3 | --dims: ( | ||
4 | --pad-x: 1.3em, | ||
5 | --pad-y: 1em | ||
6 | ), | ||
7 | --colors: ( | ||
8 | --bg: prop(--colors --bg-lo, $global: true), | ||
9 | --flip: ( | ||
10 | --bg: prop(--colors --bg-lo, $global: true), | ||
11 | ) | ||
12 | ) | ||
13 | )); | ||
14 | |||
15 | @include component(namespace()) { | ||
16 | display: block; | ||
17 | position: relative; | ||
18 | background-color: prop(--colors --bg); | ||
19 | line-height: 1.4; | ||
20 | |||
21 | &:hover { | ||
22 | @include element('content') { | ||
23 | @include modifier('flip') { | ||
24 | visibility: visible; | ||
25 | transition: | ||
26 | visibility 0s, | ||
27 | opacity .2s; | ||
28 | opacity: 1; | ||
29 | } | ||
30 | } | ||
31 | } | ||
32 | |||
33 | @include element('content') { | ||
34 | display: flex; | ||
35 | box-sizing: border-box; | ||
36 | flex-direction: row; | ||
37 | align-items: center; | ||
38 | padding: prop(--dims --pad-y) prop(--dims --pad-x); | ||
39 | |||
40 | @include modifier('flip') { | ||
41 | visibility: hidden; | ||
42 | position: absolute; | ||
43 | top: 0; | ||
44 | left: 0; | ||
45 | width: 100%; | ||
46 | height: 100%; | ||
47 | transition: | ||
48 | visibility 0s linear .2s, | ||
49 | opacity .2s; | ||
50 | opacity: 0; | ||
51 | background-color: prop(--colors --flip --bg); | ||
52 | } | ||
53 | } | ||
54 | |||
55 | @include element('icon') { | ||
56 | margin-left: auto; | ||
57 | } | ||
58 | } | ||
59 | } | ||
diff --git a/assets/css/components/_section-heading.scss b/assets/css/components/_section-heading.scss new file mode 100644 index 0000000..db75159 --- /dev/null +++ b/assets/css/components/_section-heading.scss | |||
@@ -0,0 +1,28 @@ | |||
1 | @include namespace('section-heading') { | ||
2 | @include store(( | ||
3 | --dims: ( | ||
4 | --pad-y: $line-height * 2rem | ||
5 | ), | ||
6 | --colors: ( | ||
7 | --line: prop(--colors --accent --color, $global: true), | ||
8 | ) | ||
9 | )); | ||
10 | |||
11 | @include component(namespace()) { | ||
12 | margin: 0 0 prop(--dims --pad-y); | ||
13 | font-size: .8em; | ||
14 | font-weight: 400; | ||
15 | letter-spacing: .2em; | ||
16 | text-transform: uppercase; | ||
17 | |||
18 | &::before { | ||
19 | content: ''; | ||
20 | display: inline-block; | ||
21 | width: 3em; | ||
22 | height: 1px; | ||
23 | margin-right: 1.3em; | ||
24 | background-color: prop(--colors --line); | ||
25 | vertical-align: middle; | ||
26 | } | ||
27 | } | ||
28 | } | ||
diff --git a/assets/css/layouts/_card-grid.scss b/assets/css/layouts/_card-grid.scss new file mode 100644 index 0000000..7998952 --- /dev/null +++ b/assets/css/layouts/_card-grid.scss | |||
@@ -0,0 +1,7 @@ | |||
1 | @include namespace('card-grid') { | ||
2 | @include layout(namespace()) { | ||
3 | display: grid; | ||
4 | grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); | ||
5 | gap: .7rem; | ||
6 | } | ||
7 | } | ||
diff --git a/assets/css/objects/_icon.scss b/assets/css/objects/_icon.scss new file mode 100644 index 0000000..cb966c8 --- /dev/null +++ b/assets/css/objects/_icon.scss | |||
@@ -0,0 +1,12 @@ | |||
1 | @include namespace('icon') { | ||
2 | @include object(namespace()) { | ||
3 | display: block; | ||
4 | width: 16px; | ||
5 | height: 16px; | ||
6 | stroke-width: 1.5px; | ||
7 | stroke-linecap: round; | ||
8 | stroke: currentColor; | ||
9 | stroke-linejoin: round; | ||
10 | fill: none; | ||
11 | } | ||
12 | } | ||
diff --git a/assets/css/style.scss b/assets/css/style.scss index f4c6db7..90cbe5d 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss | |||
@@ -8,12 +8,17 @@ | |||
8 | @import 'functions'; | 8 | @import 'functions'; |
9 | @import 'basics'; | 9 | @import 'basics'; |
10 | 10 | ||
11 | @import 'objects/icon'; | ||
12 | |||
11 | @import 'components/nav'; | 13 | @import 'components/nav'; |
12 | @import 'components/landing-banner'; | 14 | @import 'components/landing-banner'; |
15 | @import 'components/section-heading'; | ||
13 | @import 'components/footer'; | 16 | @import 'components/footer'; |
17 | @import 'components/card'; | ||
14 | 18 | ||
15 | @import 'layouts/landing'; | 19 | @import 'layouts/landing'; |
16 | @import 'layouts/container'; | 20 | @import 'layouts/container'; |
21 | @import 'layouts/card-grid'; | ||
17 | 22 | ||
18 | @import 'scopes/body'; | 23 | @import 'scopes/body'; |
19 | 24 | ||