diff options
Diffstat (limited to 'assets/css')
| -rw-r--r-- | assets/css/_basics.scss | 30 | ||||
| -rw-r--r-- | assets/css/_fonts.scss | 27 | ||||
| -rw-r--r-- | assets/css/_vars.scss | 21 | ||||
| -rw-r--r-- | assets/css/components/_card.scss | 6 | ||||
| -rw-r--r-- | assets/css/components/_landing-banner.scss | 2 | ||||
| -rw-r--r-- | assets/css/components/_nav.scss | 29 | ||||
| -rw-r--r-- | assets/css/components/_section-heading.scss | 8 | ||||
| -rw-r--r-- | assets/css/layouts/_container.scss | 6 | ||||
| -rw-r--r-- | assets/css/layouts/_landing.scss | 20 | ||||
| -rw-r--r-- | assets/css/objects/_button.scss | 23 | ||||
| -rw-r--r-- | assets/css/style.scss | 10 |
11 files changed, 117 insertions, 65 deletions
diff --git a/assets/css/_basics.scss b/assets/css/_basics.scss index 64b11cf..d05bc36 100644 --- a/assets/css/_basics.scss +++ b/assets/css/_basics.scss | |||
| @@ -1,24 +1,3 @@ | |||
| 1 | @font-face { | ||
| 2 | font-family: 'IBM Plex Sans'; | ||
| 3 | font-style: normal; | ||
| 4 | font-weight: normal; | ||
| 5 | src: url('/IBMPlexSans-Regular.woff2') format('woff2'); | ||
| 6 | } | ||
| 7 | |||
| 8 | @font-face { | ||
| 9 | font-family: 'IBM Plex Sans'; | ||
| 10 | font-style: normal; | ||
| 11 | font-weight: bold; | ||
| 12 | src: url('/IBMPlexSans-Bold.woff2') format('woff2'); | ||
| 13 | } | ||
| 14 | |||
| 15 | @font-face { | ||
| 16 | font-family: 'Garet Variable'; | ||
| 17 | font-style: normal; | ||
| 18 | font-weight: 50 950; | ||
| 19 | src: url('/GaretVariable.woff2') format('woff2-variations'); | ||
| 20 | } | ||
| 21 | |||
| 22 | ::selection { | 1 | ::selection { |
| 23 | background-color: var(--select--bg); | 2 | background-color: var(--select--bg); |
| 24 | color: var(--select--fg); | 3 | color: var(--select--fg); |
| @@ -37,20 +16,21 @@ code { | |||
| 37 | html, | 16 | html, |
| 38 | body, | 17 | body, |
| 39 | main { | 18 | main { |
| 40 | height: 100%; | 19 | box-sizing: border-box; |
| 20 | height: 100%; | ||
| 41 | } | 21 | } |
| 42 | 22 | ||
| 43 | html { | 23 | html { |
| 44 | background-color: prop(--colors --bg); | 24 | background-color: prop(--colors --bg); |
| 45 | color: prop(--colors --fg); | 25 | color: prop(--colors --fg); |
| 46 | font-family: $font-fam--text; | 26 | font-family: $font-fam--text; |
| 47 | font-size: px-to-em($font-size, 16px); | 27 | font-size: 1em / 16px * $font-size; |
| 48 | line-height: $line-height; | 28 | line-height: $line-height; |
| 49 | } | 29 | } |
| 50 | 30 | ||
| 51 | body { | 31 | body { |
| 52 | margin: 0; | 32 | margin: 0; |
| 53 | padding: 0; | 33 | padding: prop(--dims --nav --height, $global: true) 0 0; |
| 54 | } | 34 | } |
| 55 | 35 | ||
| 56 | pre, | 36 | pre, |
| @@ -180,7 +160,7 @@ h1 { | |||
| 180 | } | 160 | } |
| 181 | 161 | ||
| 182 | p { | 162 | p { |
| 183 | margin: ($line-height * 1em) 0 0; | 163 | margin: ($line-height * 1rem) 0 0; |
| 184 | } | 164 | } |
| 185 | 165 | ||
| 186 | :link, | 166 | :link, |
diff --git a/assets/css/_fonts.scss b/assets/css/_fonts.scss new file mode 100644 index 0000000..9e57600 --- /dev/null +++ b/assets/css/_fonts.scss | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | @font-face { | ||
| 2 | font-family: 'IBM Plex Sans'; | ||
| 3 | font-style: normal; | ||
| 4 | font-weight: normal; | ||
| 5 | src: url('/IBMPlexSans-Regular.woff2') format('woff2'); | ||
| 6 | } | ||
| 7 | |||
| 8 | @font-face { | ||
| 9 | font-family: 'IBM Plex Sans'; | ||
| 10 | font-style: normal; | ||
| 11 | font-weight: 500; | ||
| 12 | src: url('/IBMPlexSans-Medium.woff2') format('woff2'); | ||
| 13 | } | ||
| 14 | |||
| 15 | @font-face { | ||
| 16 | font-family: 'IBM Plex Sans'; | ||
| 17 | font-style: normal; | ||
| 18 | font-weight: bold; | ||
| 19 | src: url('/IBMPlexSans-Bold.woff2') format('woff2'); | ||
| 20 | } | ||
| 21 | |||
| 22 | @font-face { | ||
| 23 | font-family: 'Garet'; | ||
| 24 | font-style: normal; | ||
| 25 | font-weight: 50 950; | ||
| 26 | src: url('/GaretVariable.woff2') format('woff2-variations'); | ||
| 27 | } | ||
diff --git a/assets/css/_vars.scss b/assets/css/_vars.scss index 1ef0c8a..18cebc6 100644 --- a/assets/css/_vars.scss +++ b/assets/css/_vars.scss | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | $breakpoints: ( | 1 | $breakpoints: ( |
| 2 | xs: 320px, | ||
| 3 | sm: 600px, | ||
| 4 | md: 900px, | ||
| 5 | lg: 1500px, | 2 | lg: 1500px, |
| 3 | md: 900px, | ||
| 4 | sm: 600px, | ||
| 5 | xs: 320px, | ||
| 6 | ); | 6 | ); |
| 7 | 7 | ||
| 8 | $unit-intervals: ( | 8 | $unit-intervals: ( |
| @@ -13,7 +13,7 @@ $unit-intervals: ( | |||
| 13 | ); | 13 | ); |
| 14 | 14 | ||
| 15 | $font-fam--text: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif; | 15 | $font-fam--text: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif; |
| 16 | $font-fam--large: 'Garet Variable', $font-fam--text; | 16 | $font-fam--large: 'Garet', $font-fam--text; |
| 17 | $font-fam--mono: 'Iosevka Term SS09', 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace; | 17 | $font-fam--mono: 'Iosevka Term SS09', 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace; |
| 18 | $font-size: 16px; | 18 | $font-size: 16px; |
| 19 | $line-height: 1.7; | 19 | $line-height: 1.7; |
| @@ -29,6 +29,11 @@ $gray5: hsl(220, 0%, 73%); | |||
| 29 | $gray6: hsl(220, 0%, 100%); | 29 | $gray6: hsl(220, 0%, 100%); |
| 30 | 30 | ||
| 31 | @include store(( | 31 | @include store(( |
| 32 | --dims: ( | ||
| 33 | --nav: ( | ||
| 34 | --height: 4.5rem | ||
| 35 | ) | ||
| 36 | ), | ||
| 32 | --colors: ( | 37 | --colors: ( |
| 33 | --bg-hi: $gray0, // Darker background | 38 | --bg-hi: $gray0, // Darker background |
| 34 | --bg: $gray1, // Background | 39 | --bg: $gray1, // Background |
| @@ -57,6 +62,14 @@ $gray6: hsl(220, 0%, 100%); | |||
| 57 | } | 62 | } |
| 58 | } | 63 | } |
| 59 | 64 | ||
| 65 | @include store(( | ||
| 66 | --dims: ( | ||
| 67 | --nav: ( | ||
| 68 | --height: 3.5rem | ||
| 69 | ) | ||
| 70 | ), | ||
| 71 | ), 'sm'); | ||
| 72 | |||
| 60 | :root { | 73 | :root { |
| 61 | --heading--fg: var(--colors--fg-lo); | 74 | --heading--fg: var(--colors--fg-lo); |
| 62 | 75 | ||
diff --git a/assets/css/components/_card.scss b/assets/css/components/_card.scss index 4b3a094..21eeb9f 100644 --- a/assets/css/components/_card.scss +++ b/assets/css/components/_card.scss | |||
| @@ -18,6 +18,12 @@ | |||
| 18 | background-color: prop(--colors --bg); | 18 | background-color: prop(--colors --bg); |
| 19 | line-height: 1.4; | 19 | line-height: 1.4; |
| 20 | 20 | ||
| 21 | &:link, | ||
| 22 | &:visited { | ||
| 23 | color: currentColor; | ||
| 24 | text-decoration: none; | ||
| 25 | } | ||
| 26 | |||
| 21 | &:hover { | 27 | &:hover { |
| 22 | @include element('content') { | 28 | @include element('content') { |
| 23 | @include modifier('flip') { | 29 | @include modifier('flip') { |
diff --git a/assets/css/components/_landing-banner.scss b/assets/css/components/_landing-banner.scss index ee5deab..412ca8a 100644 --- a/assets/css/components/_landing-banner.scss +++ b/assets/css/components/_landing-banner.scss | |||
| @@ -7,6 +7,8 @@ | |||
| 7 | )); | 7 | )); |
| 8 | 8 | ||
| 9 | @include component(namespace()) { | 9 | @include component(namespace()) { |
| 10 | font-size: 1 / 16 * 17em; | ||
| 11 | |||
| 10 | @include element('title') { | 12 | @include element('title') { |
| 11 | max-width: 7em; | 13 | max-width: 7em; |
| 12 | margin-top: 0; | 14 | margin-top: 0; |
diff --git a/assets/css/components/_nav.scss b/assets/css/components/_nav.scss index 03118a9..900b4f2 100644 --- a/assets/css/components/_nav.scss +++ b/assets/css/components/_nav.scss | |||
| @@ -2,10 +2,10 @@ | |||
| 2 | @include store(( | 2 | @include store(( |
| 3 | --dims: ( | 3 | --dims: ( |
| 4 | --font-size: 15px, | 4 | --font-size: 15px, |
| 5 | --pad-y: .5rem, | 5 | --height: prop(--dims --nav --height, $global: true), |
| 6 | --pad-x: 2.5rem, | ||
| 6 | --item: ( | 7 | --item: ( |
| 7 | --pad-x: 1rem, | 8 | --pad-x: 1rem, |
| 8 | --pad-y: 1rem, | ||
| 9 | ), | 9 | ), |
| 10 | ), | 10 | ), |
| 11 | --colors: ( | 11 | --colors: ( |
| @@ -34,9 +34,14 @@ | |||
| 34 | 34 | ||
| 35 | @include store(( | 35 | @include store(( |
| 36 | --dims: ( | 36 | --dims: ( |
| 37 | --pad-x: prop(--container --dims --pad-x, $global: true), | ||
| 38 | ) | ||
| 39 | ), 'md'); | ||
| 40 | |||
| 41 | @include store(( | ||
| 42 | --dims: ( | ||
| 37 | --item: ( | 43 | --item: ( |
| 38 | --pad-x: .75em, | 44 | --pad-x: .75em, |
| 39 | --pad-y: .75em, | ||
| 40 | ), | 45 | ), |
| 41 | ) | 46 | ) |
| 42 | ), 'sm'); | 47 | ), 'sm'); |
| @@ -47,15 +52,18 @@ | |||
| 47 | z-index: 10000; | 52 | z-index: 10000; |
| 48 | top: 0; | 53 | top: 0; |
| 49 | left: 0; | 54 | left: 0; |
| 50 | align-items: center; | 55 | height: prop(--dims --height); |
| 51 | padding: prop(--dims --pad-y) 0; | 56 | padding: 0 prop(--dims --pad-x); |
| 52 | background-color: prop(--colors --bg); | 57 | background-color: prop(--colors --bg); |
| 53 | font-size: prop(--dims --font-size); | 58 | font-size: prop(--dims --font-size); |
| 54 | 59 | ||
| 60 | @include element('logo', 'item') { | ||
| 61 | display: flex; | ||
| 62 | align-items: center; | ||
| 63 | height: 100%; | ||
| 64 | } | ||
| 65 | |||
| 55 | @include element('logo') { | 66 | @include element('logo') { |
| 56 | display: inline-block; | ||
| 57 | margin: 0; | ||
| 58 | padding: prop(--dims --item --pad-y) 0; | ||
| 59 | color: prop(--colors --logo --idle --fg); | 67 | color: prop(--colors --logo --idle --fg); |
| 60 | font-family: $font-fam--mono; | 68 | font-family: $font-fam--mono; |
| 61 | text-decoration: none; | 69 | text-decoration: none; |
| @@ -76,9 +84,8 @@ | |||
| 76 | } | 84 | } |
| 77 | 85 | ||
| 78 | @include element('item') { | 86 | @include element('item') { |
| 79 | display: inline-block; | ||
| 80 | margin: 0 calc(-1 * #{prop(--dims --item --pad-x)}) 0 prop(--dims --item --pad-x); | 87 | margin: 0 calc(-1 * #{prop(--dims --item --pad-x)}) 0 prop(--dims --item --pad-x); |
| 81 | padding: prop(--dims --item --pad-y) prop(--dims --item --pad-x); | 88 | padding: 0 prop(--dims --item --pad-x); |
| 82 | color: prop(--colors --item --idle --fg); | 89 | color: prop(--colors --item --idle --fg); |
| 83 | text-decoration: none; | 90 | text-decoration: none; |
| 84 | text-transform: uppercase; | 91 | text-transform: uppercase; |
| @@ -97,7 +104,7 @@ | |||
| 97 | } | 104 | } |
| 98 | 105 | ||
| 99 | @include media('<=md') { | 106 | @include media('<=md') { |
| 100 | position: static; | 107 | width: 100%; |
| 101 | } | 108 | } |
| 102 | } | 109 | } |
| 103 | } | 110 | } |
diff --git a/assets/css/components/_section-heading.scss b/assets/css/components/_section-heading.scss index db75159..e904943 100644 --- a/assets/css/components/_section-heading.scss +++ b/assets/css/components/_section-heading.scss | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | @include namespace('section-heading') { | 1 | @include namespace('section-heading') { |
| 2 | @include store(( | 2 | @include store(( |
| 3 | --dims: ( | 3 | --dims: ( |
| 4 | --pad-y: $line-height * 2rem | 4 | --pad-y: $line-height * 1rem |
| 5 | ), | 5 | ), |
| 6 | --colors: ( | 6 | --colors: ( |
| 7 | --line: prop(--colors --accent --color, $global: true), | 7 | --line: prop(--colors --accent --color, $global: true), |
| @@ -10,8 +10,8 @@ | |||
| 10 | 10 | ||
| 11 | @include component(namespace()) { | 11 | @include component(namespace()) { |
| 12 | margin: 0 0 prop(--dims --pad-y); | 12 | margin: 0 0 prop(--dims --pad-y); |
| 13 | font-size: .8em; | 13 | font-size: 1 / 16 * 12em; |
| 14 | font-weight: 400; | 14 | font-weight: 550; |
| 15 | letter-spacing: .2em; | 15 | letter-spacing: .2em; |
| 16 | text-transform: uppercase; | 16 | text-transform: uppercase; |
| 17 | 17 | ||
| @@ -19,7 +19,7 @@ | |||
| 19 | content: ''; | 19 | content: ''; |
| 20 | display: inline-block; | 20 | display: inline-block; |
| 21 | width: 3em; | 21 | width: 3em; |
| 22 | height: 1px; | 22 | height: 2px; |
| 23 | margin-right: 1.3em; | 23 | margin-right: 1.3em; |
| 24 | background-color: prop(--colors --line); | 24 | background-color: prop(--colors --line); |
| 25 | vertical-align: middle; | 25 | vertical-align: middle; |
diff --git a/assets/css/layouts/_container.scss b/assets/css/layouts/_container.scss index 0726950..218841d 100644 --- a/assets/css/layouts/_container.scss +++ b/assets/css/layouts/_container.scss | |||
| @@ -2,20 +2,20 @@ | |||
| 2 | @include store(( | 2 | @include store(( |
| 3 | --dims: ( | 3 | --dims: ( |
| 4 | --pad-x: 3rem, | 4 | --pad-x: 3rem, |
| 5 | --pad-y: $line-height * 3rem | 5 | --pad-y: $line-height * 2rem |
| 6 | ) | 6 | ) |
| 7 | )); | 7 | )); |
| 8 | 8 | ||
| 9 | @include store(( | 9 | @include store(( |
| 10 | --dims: ( | 10 | --dims: ( |
| 11 | --pad-x: 2rem, | 11 | --pad-x: 2rem, |
| 12 | --pad-y: $line-height * 2rem | 12 | --pad-y: $line-height * 1.5rem |
| 13 | ) | 13 | ) |
| 14 | ), 'md'); | 14 | ), 'md'); |
| 15 | 15 | ||
| 16 | @include store(( | 16 | @include store(( |
| 17 | --dims: ( | 17 | --dims: ( |
| 18 | --pad-x: 1rem, | 18 | --pad-x: 5%, |
| 19 | --pad-y: $line-height * 1rem | 19 | --pad-y: $line-height * 1rem |
| 20 | ) | 20 | ) |
| 21 | ), 'sm'); | 21 | ), 'sm'); |
diff --git a/assets/css/layouts/_landing.scss b/assets/css/layouts/_landing.scss index b824005..7683d44 100644 --- a/assets/css/layouts/_landing.scss +++ b/assets/css/layouts/_landing.scss | |||
| @@ -27,18 +27,11 @@ | |||
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | @include iro-responsive-env(('md', 'lg')) { | 29 | @include iro-responsive-env(('md', 'lg')) { |
| 30 | padding-right: iro-responsive-set((0, 6rem)); | ||
| 31 | padding-left: iro-responsive-set((0, 6rem)); | ||
| 32 | |||
| 30 | @include element('banner') { | 33 | @include element('banner') { |
| 31 | padding: | 34 | padding-right: iro-responsive-set((0, 6rem)); |
| 32 | iro-responsive-set((2rem, 6rem)) | ||
| 33 | iro-responsive-set((0, 6rem)); | ||
| 34 | } | ||
| 35 | |||
| 36 | @include element('content') { | ||
| 37 | padding: | ||
| 38 | iro-responsive-set((2rem, 6rem)) | ||
| 39 | iro-responsive-set((0, 6rem)) | ||
| 40 | iro-responsive-set((2rem, 6rem)) | ||
| 41 | 0; | ||
| 42 | } | 35 | } |
| 43 | } | 36 | } |
| 44 | 37 | ||
| @@ -47,9 +40,8 @@ | |||
| 47 | height: auto; | 40 | height: auto; |
| 48 | 41 | ||
| 49 | @include element('banner', 'content') { | 42 | @include element('banner', 'content') { |
| 50 | width: auto; | 43 | width: auto; |
| 51 | padding-right: 0; | 44 | padding: 0; |
| 52 | padding-left: 0; | ||
| 53 | } | 45 | } |
| 54 | 46 | ||
| 55 | @include element('banner') { | 47 | @include element('banner') { |
diff --git a/assets/css/objects/_button.scss b/assets/css/objects/_button.scss new file mode 100644 index 0000000..d97ca2d --- /dev/null +++ b/assets/css/objects/_button.scss | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | @include namespace('button') { | ||
| 2 | @include store(( | ||
| 3 | --dims: ( | ||
| 4 | --pad-x: 1.4em, | ||
| 5 | --pad-y: .5em | ||
| 6 | ), | ||
| 7 | --colors: ( | ||
| 8 | --bg: prop(--colors --fg-lo, $global: true), | ||
| 9 | --fg: prop(--colors --bg, $global: true), | ||
| 10 | ) | ||
| 11 | )); | ||
| 12 | |||
| 13 | @include object(namespace()) { | ||
| 14 | display: inline-block; | ||
| 15 | padding: prop(--dims --pad-y) prop(--dims --pad-x); | ||
| 16 | border-radius: 10em; | ||
| 17 | background-color: prop(--colors --bg); | ||
| 18 | color: prop(--colors --fg); | ||
| 19 | font-size: 1 / 16 * 14em; | ||
| 20 | font-weight: 500; | ||
| 21 | text-decoration: none; | ||
| 22 | } | ||
| 23 | } | ||
diff --git a/assets/css/style.scss b/assets/css/style.scss index 90cbe5d..89b7837 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss | |||
| @@ -6,9 +6,15 @@ | |||
| 6 | 6 | ||
| 7 | @import 'vars'; | 7 | @import 'vars'; |
| 8 | @import 'functions'; | 8 | @import 'functions'; |
| 9 | @import 'fonts'; | ||
| 9 | @import 'basics'; | 10 | @import 'basics'; |
| 10 | 11 | ||
| 12 | @import 'layouts/container'; | ||
| 13 | @import 'layouts/landing'; | ||
| 14 | @import 'layouts/card-grid'; | ||
| 15 | |||
| 11 | @import 'objects/icon'; | 16 | @import 'objects/icon'; |
| 17 | @import 'objects/button'; | ||
| 12 | 18 | ||
| 13 | @import 'components/nav'; | 19 | @import 'components/nav'; |
| 14 | @import 'components/landing-banner'; | 20 | @import 'components/landing-banner'; |
| @@ -16,10 +22,6 @@ | |||
| 16 | @import 'components/footer'; | 22 | @import 'components/footer'; |
| 17 | @import 'components/card'; | 23 | @import 'components/card'; |
| 18 | 24 | ||
| 19 | @import 'layouts/landing'; | ||
| 20 | @import 'layouts/container'; | ||
| 21 | @import 'layouts/card-grid'; | ||
| 22 | |||
| 23 | @import 'scopes/body'; | 25 | @import 'scopes/body'; |
| 24 | 26 | ||
| 25 | @import 'utils'; | 27 | @import 'utils'; |
