minimaz-cli 0.4.1 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -66
- package/bin/cli.js +14 -15
- package/package.json +5 -8
- package/templates/default/minimaz.config.json +30 -21
- package/templates/default/src/{index.html → pages/index.html} +101 -86
- package/templates/default/src/public/favicon.ico +0 -0
- package/templates/default/src/public/fonts/bootstrap-icons.woff +0 -0
- package/templates/default/src/public/fonts/bootstrap-icons.woff2 +0 -0
- package/templates/default/src/style.css +3 -321
- package/templates/default/src/styles/base.css +321 -0
- package/templates/default/src/styles/bootstrap-icons.css +8337 -0
- package/templates/default/src/styles/grid-layout.css +44 -0
- package/templates/simple/src/script.js +1 -1
- package/templates/default/public/favicon.ico +0 -0
- /package/templates/default/{public → src/public}/assets/logo.webp +0 -0
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
<link rel="icon" type="image/x-icon" href="../public/favicon.ico">
|
|
28
28
|
<link rel="shortcut icon" href="../public/favicon.ico">
|
|
29
|
-
<link rel="stylesheet" href="style.css">
|
|
30
|
-
<link rel="stylesheet" href="styles/bootstrap-icons.css">
|
|
29
|
+
<link rel="stylesheet" href="../style.css">
|
|
31
30
|
</head>
|
|
32
31
|
|
|
33
32
|
<body>
|
|
@@ -37,7 +36,7 @@
|
|
|
37
36
|
<!-- ======================================== -->
|
|
38
37
|
<header>
|
|
39
38
|
<img src="../public/assets/logo.webp" alt="Minimaz Logo">
|
|
40
|
-
<h1 class="sr-only">Minimaz CLI <i class="
|
|
39
|
+
<h1 class="sr-only">Minimaz CLI <i class="bi bi-lightning-fill"></i></h1>
|
|
41
40
|
<p id="tagline">Minimal input. Clean output</p>
|
|
42
41
|
<p class="version">Version: <strong>v0.4.0</strong></p>
|
|
43
42
|
</header>
|
|
@@ -49,7 +48,7 @@
|
|
|
49
48
|
<!-- ======================================== -->
|
|
50
49
|
<section id="about" class="max-width">
|
|
51
50
|
<h2>
|
|
52
|
-
<i class="
|
|
51
|
+
<i class="bi bi-info-circle"></i>
|
|
53
52
|
<span>About</span>
|
|
54
53
|
</h2>
|
|
55
54
|
<p>
|
|
@@ -66,7 +65,7 @@
|
|
|
66
65
|
|
|
67
66
|
<section id="features" class="max-width">
|
|
68
67
|
<h2>
|
|
69
|
-
<i class="
|
|
68
|
+
<i class="bi bi-gear-fill"></i>
|
|
70
69
|
<span>Features</span>
|
|
71
70
|
</h2>
|
|
72
71
|
|
|
@@ -92,21 +91,22 @@
|
|
|
92
91
|
<!-- ======================================== -->
|
|
93
92
|
<section id="installation" class="max-width">
|
|
94
93
|
<h2>
|
|
95
|
-
<i class="
|
|
94
|
+
<i class="bi bi-download"></i>
|
|
96
95
|
<span>Installation</span>
|
|
97
96
|
</h2>
|
|
98
|
-
<p>Run directly using <code>npx</code>
|
|
97
|
+
<p>Run directly using <code>npx</code> or as a global module:</p>
|
|
99
98
|
|
|
100
99
|
<pre><code>npx minimaz init my-site
|
|
101
100
|
cd my-site
|
|
102
|
-
npx minimaz build
|
|
103
|
-
npx minimaz version</code></pre>
|
|
101
|
+
npx minimaz build</code></pre>
|
|
104
102
|
|
|
105
|
-
<p>
|
|
103
|
+
<p>Global installation:</p>
|
|
104
|
+
<pre><code>npm install -g minimaz-cli
|
|
105
|
+
minimaz init my-site</code></pre>
|
|
106
106
|
|
|
107
|
-
<
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
<blockquote>
|
|
108
|
+
During <code>npm install</code>, a post-install script runs to finalize setup automatically.
|
|
109
|
+
</blockquote>
|
|
110
110
|
</section>
|
|
111
111
|
|
|
112
112
|
<!-- ======================================== -->
|
|
@@ -114,7 +114,7 @@ npx mz v</code></pre>
|
|
|
114
114
|
<!-- ======================================== -->
|
|
115
115
|
<section id="project-structure" class="max-width">
|
|
116
116
|
<h2>
|
|
117
|
-
<i class="
|
|
117
|
+
<i class="bi bi-folder2-open"></i>
|
|
118
118
|
<span>Project Structure</span>
|
|
119
119
|
</h2>
|
|
120
120
|
|
|
@@ -133,98 +133,113 @@ npx mz v</code></pre>
|
|
|
133
133
|
<!-- ======================================== -->
|
|
134
134
|
<section id="configuration" class="max-width">
|
|
135
135
|
<h2>
|
|
136
|
-
<i class="
|
|
136
|
+
<i class="bi bi-sliders"></i>
|
|
137
137
|
<span>Configuration</span>
|
|
138
138
|
</h2>
|
|
139
139
|
|
|
140
140
|
<pre><code>{
|
|
141
|
-
"
|
|
142
|
-
|
|
141
|
+
"input": {
|
|
142
|
+
"dir": "./src",
|
|
143
|
+
"mapping": {
|
|
144
|
+
"pages": "",
|
|
145
|
+
"public": ""
|
|
146
|
+
},
|
|
147
|
+
"externals": {
|
|
148
|
+
"node_modules/bootstrap-icons/font/fonts": "public/fonts"
|
|
149
|
+
},
|
|
150
|
+
"exclude": []
|
|
151
|
+
},
|
|
152
|
+
"output": {
|
|
153
|
+
"dir": "./dist",
|
|
154
|
+
"replace": {
|
|
155
|
+
"../public/": "/public/"
|
|
156
|
+
},
|
|
143
157
|
"css": {
|
|
144
|
-
"
|
|
145
|
-
"
|
|
158
|
+
"bundling": true,
|
|
159
|
+
"minify": true
|
|
146
160
|
},
|
|
147
161
|
"js": {
|
|
148
|
-
"
|
|
149
|
-
"
|
|
162
|
+
"bundling": true,
|
|
163
|
+
"minify": true
|
|
164
|
+
},
|
|
165
|
+
"html": {
|
|
166
|
+
"minify": true
|
|
150
167
|
}
|
|
151
|
-
},
|
|
152
|
-
"minify": {
|
|
153
|
-
"html": true,
|
|
154
|
-
"css": true,
|
|
155
|
-
"js": true,
|
|
156
|
-
"ts": true
|
|
157
|
-
},
|
|
158
|
-
"replace": {
|
|
159
|
-
"../public/": "public/"
|
|
160
|
-
},
|
|
161
|
-
"styles": [
|
|
162
|
-
"style.css",
|
|
163
|
-
"style-2.css"
|
|
164
|
-
],
|
|
165
|
-
"scripts": [
|
|
166
|
-
"script.js",
|
|
167
|
-
"script-2.js"
|
|
168
|
-
],
|
|
169
|
-
"folders": {
|
|
170
|
-
"src": "",
|
|
171
|
-
"public": "public"
|
|
172
168
|
}
|
|
173
169
|
}</code></pre>
|
|
174
170
|
|
|
175
171
|
<ul>
|
|
176
|
-
<li><strong>
|
|
177
|
-
|
|
178
|
-
<li><strong>
|
|
179
|
-
<li><strong>
|
|
180
|
-
<li><strong>styles & scripts</strong> → external styles or scripts to add</li>
|
|
181
|
-
<li><strong>folders</strong> → folders to scan</li>
|
|
172
|
+
<li><strong>input.externals</strong> → Include library assets without copying them into <code>src</code>
|
|
173
|
+
</li>
|
|
174
|
+
<li><strong>output.replace</strong> → Define asset path replacements for the build</li>
|
|
175
|
+
<li><strong>bundling</strong> → Scans imports/requires to merge code into single files</li>
|
|
182
176
|
</ul>
|
|
183
177
|
</section>
|
|
184
178
|
|
|
185
179
|
<!-- ======================================== -->
|
|
186
180
|
<!-- COMMANDS -->
|
|
187
181
|
<!-- ======================================== -->
|
|
182
|
+
<!-- ======================================== -->
|
|
183
|
+
<!-- COMMANDS -->
|
|
184
|
+
<!-- ======================================== -->
|
|
188
185
|
<section id="commands" class="max-width">
|
|
189
186
|
<h2>
|
|
190
|
-
<i class="
|
|
187
|
+
<i class="bi bi-command"></i>
|
|
191
188
|
<span>Commands</span>
|
|
192
189
|
</h2>
|
|
193
190
|
|
|
194
|
-
<
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
mz c
|
|
201
|
-
|
|
202
|
-
#
|
|
203
|
-
minimaz
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
minimaz init <project-name>
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
#
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
minimaz template
|
|
224
|
-
|
|
225
|
-
#
|
|
226
|
-
minimaz
|
|
227
|
-
|
|
191
|
+
<div class="command-group">
|
|
192
|
+
<h3>Build & Maintenance</h3>
|
|
193
|
+
<pre><code># Build and minify the project
|
|
194
|
+
minimaz build (mz b)
|
|
195
|
+
|
|
196
|
+
# Delete the dist folder
|
|
197
|
+
minimaz clear (mz c)
|
|
198
|
+
|
|
199
|
+
# Validate HTML, CSS, JS, TS, and JSON files
|
|
200
|
+
minimaz validate --path=/path/to/file</code></pre>
|
|
201
|
+
</div>
|
|
202
|
+
|
|
203
|
+
<div class="command-group">
|
|
204
|
+
<h3>Project Initialization</h3>
|
|
205
|
+
<pre><code># Initialize a new project
|
|
206
|
+
minimaz init <project-name> [options] (mz i)
|
|
207
|
+
|
|
208
|
+
Options:
|
|
209
|
+
-t, --template <name> # Use specific template (default: 'default')
|
|
210
|
+
--npm # Init npm (creates package.json & runs install)
|
|
211
|
+
--git # Initialize git repository
|
|
212
|
+
--gitprovider <provider> # 'github', 'gitlab', or existing repo URL
|
|
213
|
+
--gitremote <url> # Specify custom remote URL</code></pre>
|
|
214
|
+
</div>
|
|
215
|
+
|
|
216
|
+
<div class="command-group">
|
|
217
|
+
<h3>Template Management</h3>
|
|
218
|
+
<p class="small-text">Global templates are stored in <code>~/.minimaz/templates</code></p>
|
|
219
|
+
<pre><code># Save current folder as a new template
|
|
220
|
+
minimaz template [folder-path] (mz t)
|
|
221
|
+
|
|
222
|
+
# List all global templates
|
|
223
|
+
minimaz template --list (-l)
|
|
224
|
+
|
|
225
|
+
# Delete a template (asks for confirmation)
|
|
226
|
+
minimaz template --delete <name> (-d)
|
|
227
|
+
|
|
228
|
+
# Update templates from current folder or defaults
|
|
229
|
+
minimaz template --update [name] (-u)</code></pre>
|
|
230
|
+
</div>
|
|
231
|
+
|
|
232
|
+
<div class="command-group">
|
|
233
|
+
<h3>System & Help</h3>
|
|
234
|
+
<pre><code># Setup or overwrite global settings
|
|
235
|
+
minimaz config (mz config --overwrite)
|
|
236
|
+
|
|
237
|
+
# Show help for a specific command
|
|
238
|
+
minimaz help <command> (mz h build)
|
|
239
|
+
|
|
240
|
+
# Show Minimaz CLI version
|
|
241
|
+
minimaz version (mz v)</code></pre>
|
|
242
|
+
</div>
|
|
228
243
|
</section>
|
|
229
244
|
|
|
230
245
|
<!-- ======================================== -->
|
|
@@ -232,7 +247,7 @@ mz v</code></pre>
|
|
|
232
247
|
<!-- ======================================== -->
|
|
233
248
|
<section id="future-features" class="max-width">
|
|
234
249
|
<h2>
|
|
235
|
-
<i class="
|
|
250
|
+
<i class="bi bi-rocket-takeoff"></i>
|
|
236
251
|
<span>Upcoming & Future Features</span>
|
|
237
252
|
</h2>
|
|
238
253
|
|
|
@@ -363,7 +378,7 @@ mz v</code></pre>
|
|
|
363
378
|
<!-- ======================================== -->
|
|
364
379
|
<section id="templates" class="max-width">
|
|
365
380
|
<h2>
|
|
366
|
-
<i class="
|
|
381
|
+
<i class="bi bi-collection-fill"></i>
|
|
367
382
|
<span>Global Folder</span>
|
|
368
383
|
</h2>
|
|
369
384
|
|
|
@@ -377,7 +392,7 @@ mz v</code></pre>
|
|
|
377
392
|
<!-- ======================================== -->
|
|
378
393
|
<section id="links" class="max-width">
|
|
379
394
|
<h2>
|
|
380
|
-
<i class="
|
|
395
|
+
<i class="bi bi-link-45deg"></i>
|
|
381
396
|
<span>Links</span>
|
|
382
397
|
</h2>
|
|
383
398
|
<ul>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,321 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
:root {
|
|
5
|
-
color-scheme: dark;
|
|
6
|
-
|
|
7
|
-
/* Base colors */
|
|
8
|
-
--bg: #222;
|
|
9
|
-
--fg: #999;
|
|
10
|
-
--accent: #60b5e6;
|
|
11
|
-
--accent2: #fdc503;
|
|
12
|
-
--border: #222;
|
|
13
|
-
--code-bg: #1a1a1a;
|
|
14
|
-
|
|
15
|
-
/* UI components */
|
|
16
|
-
--card-bg: #141414;
|
|
17
|
-
--badge-bg: #1e1e1e;
|
|
18
|
-
|
|
19
|
-
/* Typography */
|
|
20
|
-
--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
21
|
-
--font-mono: "Fira Code", monospace;
|
|
22
|
-
|
|
23
|
-
/* Layout */
|
|
24
|
-
--radius-sm: 4px;
|
|
25
|
-
--radius-md: 6px;
|
|
26
|
-
--space-xs: 0.25rem;
|
|
27
|
-
--space-sm: 0.5rem;
|
|
28
|
-
--space-md: 1rem;
|
|
29
|
-
--space-lg: 1.5rem;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/* =========================================================
|
|
33
|
-
GLOBAL RESET
|
|
34
|
-
========================================================= */
|
|
35
|
-
*,
|
|
36
|
-
*::before,
|
|
37
|
-
*::after {
|
|
38
|
-
box-sizing: border-box;
|
|
39
|
-
margin: 0;
|
|
40
|
-
padding: 0;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
html {
|
|
44
|
-
font-size: 16px;
|
|
45
|
-
scroll-behavior: smooth;
|
|
46
|
-
line-height: 1.6;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
body {
|
|
50
|
-
background-color: var(--bg);
|
|
51
|
-
color: var(--fg);
|
|
52
|
-
font-family: var(--font-sans);
|
|
53
|
-
margin: 0;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/* =========================================================
|
|
57
|
-
STRUCTURAL ELEMENTS
|
|
58
|
-
========================================================= */
|
|
59
|
-
|
|
60
|
-
section {
|
|
61
|
-
margin: 3rem auto;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/* =========================================================
|
|
65
|
-
HEADER
|
|
66
|
-
========================================================= */
|
|
67
|
-
header {
|
|
68
|
-
text-align: center;
|
|
69
|
-
padding-block: var(--space-md);
|
|
70
|
-
border-bottom: 1px solid var(--border);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
header h1 {
|
|
74
|
-
color: var(--accent);
|
|
75
|
-
font-size: 2rem;
|
|
76
|
-
margin-bottom: 0.25rem;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
main {
|
|
80
|
-
padding: 0 var(--space-md);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
#tagline {
|
|
84
|
-
color: var(--accent2);
|
|
85
|
-
font-weight: 500;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/* =========================================================
|
|
89
|
-
HEADINGS
|
|
90
|
-
========================================================= */
|
|
91
|
-
h2 {
|
|
92
|
-
display: flex;
|
|
93
|
-
align-items: center;
|
|
94
|
-
line-height: 1;
|
|
95
|
-
gap: var(--space-md);
|
|
96
|
-
color: var(--accent);
|
|
97
|
-
margin-bottom: var(--space-md);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
h2 i {
|
|
101
|
-
padding: var(--space-md);
|
|
102
|
-
background-color: var(--accent2);
|
|
103
|
-
border-radius: 100%;
|
|
104
|
-
color: var(--bg);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
h2 span {
|
|
108
|
-
padding: var(--space-md) 0;
|
|
109
|
-
flex-grow: 1;
|
|
110
|
-
border-bottom: 2px solid var(--accent);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
h3 {
|
|
114
|
-
color: var(--accent2);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/* =========================================================
|
|
118
|
-
TYPOGRAPHY
|
|
119
|
-
========================================================= */
|
|
120
|
-
|
|
121
|
-
ul {
|
|
122
|
-
padding-left: 1.2rem;
|
|
123
|
-
list-style: disc;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
p {
|
|
127
|
-
margin-bottom: var(--space-md);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
p:last-child {
|
|
131
|
-
margin-bottom: 0;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/* =========================================================
|
|
135
|
-
CODE BLOCKS
|
|
136
|
-
========================================================= */
|
|
137
|
-
code,
|
|
138
|
-
pre {
|
|
139
|
-
font-family: var(--font-mono);
|
|
140
|
-
background-color: var(--code-bg);
|
|
141
|
-
color: var(--accent2);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
pre {
|
|
145
|
-
padding: var(--space-md);
|
|
146
|
-
border-radius: var(--radius-sm);
|
|
147
|
-
overflow-x: auto;
|
|
148
|
-
border: 1px solid var(--border);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/* =========================================================
|
|
152
|
-
TABLES
|
|
153
|
-
========================================================= */
|
|
154
|
-
table {
|
|
155
|
-
width: 100%;
|
|
156
|
-
border-collapse: collapse;
|
|
157
|
-
margin-top: var(--space-md);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
th,
|
|
161
|
-
td {
|
|
162
|
-
text-align: left;
|
|
163
|
-
padding: var(--space-sm);
|
|
164
|
-
border: 1px solid var(--border);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
th {
|
|
168
|
-
background-color: var(--card-bg);
|
|
169
|
-
color: var(--accent2);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
tr:nth-child(even) {
|
|
173
|
-
background-color: #151515;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/* =========================================================
|
|
177
|
-
LINKS
|
|
178
|
-
========================================================= */
|
|
179
|
-
a {
|
|
180
|
-
color: var(--accent);
|
|
181
|
-
text-decoration: none;
|
|
182
|
-
transition: color 0.2s ease;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
a:hover,
|
|
186
|
-
a:focus {
|
|
187
|
-
color: var(--accent2);
|
|
188
|
-
text-decoration: underline;
|
|
189
|
-
outline: none;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
/* =========================================================
|
|
193
|
-
STATUS BADGES
|
|
194
|
-
========================================================= */
|
|
195
|
-
.status {
|
|
196
|
-
font-size: 0.75rem;
|
|
197
|
-
padding: var(--space-xs) var(--space-sm);
|
|
198
|
-
border-radius: var(--radius-sm);
|
|
199
|
-
text-transform: uppercase;
|
|
200
|
-
letter-spacing: 0.5px;
|
|
201
|
-
background-color: var(--badge-bg);
|
|
202
|
-
border: 1px solid var(--border);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
.status-planned {
|
|
206
|
-
color: var(--accent);
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
.status-inprogress {
|
|
210
|
-
color: var(--accent2);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
.status-research {
|
|
214
|
-
color: #b98cff;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
.status-idea {
|
|
218
|
-
color: #999;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
.sr-only {
|
|
222
|
-
display: none;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
.max-width {
|
|
226
|
-
max-width: 900px;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
/* =========================================================
|
|
230
|
-
LOGO
|
|
231
|
-
========================================================= */
|
|
232
|
-
header img {
|
|
233
|
-
display: block;
|
|
234
|
-
margin: 0 auto var(--space-sm);
|
|
235
|
-
max-width: 180px;
|
|
236
|
-
width: 100%;
|
|
237
|
-
height: auto;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
/* =========================================================
|
|
241
|
-
FOOTER
|
|
242
|
-
========================================================= */
|
|
243
|
-
/* =========================================================
|
|
244
|
-
ENHANCED FOOTER
|
|
245
|
-
========================================================= */
|
|
246
|
-
|
|
247
|
-
.site-footer {
|
|
248
|
-
margin-top: 4rem;
|
|
249
|
-
padding: var(--space-lg);
|
|
250
|
-
border-top: 1px solid var(--border);
|
|
251
|
-
font-size: 0.9rem;
|
|
252
|
-
color: #999;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
.footer-grid {
|
|
256
|
-
display: grid;
|
|
257
|
-
gap: var(--space-lg);
|
|
258
|
-
margin-bottom: 2rem;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
@media (min-width: 700px) {
|
|
262
|
-
.footer-grid {
|
|
263
|
-
grid-template-columns: repeat(3, 1fr);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
.footer-col h3,
|
|
268
|
-
.footer-col h4 {
|
|
269
|
-
margin-bottom: var(--space-sm);
|
|
270
|
-
color: var(--accent);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
.footer-col h4 {
|
|
274
|
-
padding-bottom: var(--space-sm);
|
|
275
|
-
border-bottom: 2px solid var(--accent);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
.footer-col p {
|
|
279
|
-
margin-bottom: var(--space-sm);
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
.footer-col ul {
|
|
283
|
-
list-style: none;
|
|
284
|
-
padding: 0;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
.footer-col li {
|
|
288
|
-
margin-top: var(--space-xs);
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
.footer-col a {
|
|
292
|
-
color: var(--accent);
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
.footer-col a:hover {
|
|
296
|
-
color: var(--accent2);
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
.footer-bottom {
|
|
300
|
-
border-top: 1px solid var(--border);
|
|
301
|
-
padding-top: 1rem;
|
|
302
|
-
text-align: center;
|
|
303
|
-
font-size: 0.85rem;
|
|
304
|
-
color: #777;
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
/* =========================================================
|
|
309
|
-
ACCESSIBILITY
|
|
310
|
-
========================================================= */
|
|
311
|
-
@media (prefers-reduced-motion: reduce) {
|
|
312
|
-
html {
|
|
313
|
-
scroll-behavior: auto;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
*,
|
|
317
|
-
*::before,
|
|
318
|
-
*::after {
|
|
319
|
-
transition: none !important;
|
|
320
|
-
}
|
|
321
|
-
}
|
|
1
|
+
@import "./styles/base.css";
|
|
2
|
+
@import "./styles/bootstrap-icons.css";
|
|
3
|
+
@import "./styles/grid-layout.css";
|