26 |
27 |
28 |
29 |
30 |
Do you accept all major credit cards?
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est
44 | dolore illo dolores quia nemo doloribus quaerat, magni numquam
45 | repellat reprehenderit.
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
Do you suppport local farmers?
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est
68 | dolore illo dolores quia nemo doloribus quaerat, magni numquam
69 | repellat reprehenderit.
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
Do you use organic ingredients?
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est
93 | dolore illo dolores quia nemo doloribus quaerat, magni numquam
94 | repellat reprehenderit.
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
HTML&CSS Mini Projects
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
HTML&CSS Course
15 |
16 | Projects are the most practical way to learn any language, and
17 | HTML&CSS is no exception. Solidify your knowledge
18 | of HTML and CSS by creating these and other cool projects.
19 |
20 |
25 | join the course
26 |
27 |
28 |
29 |
30 |
31 |
32 |
128 |
129 |
130 |
--------------------------------------------------------------------------------
/02-counter/main.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::after,
3 | ::before {
4 | box-sizing: border-box;
5 | }
6 | /* fonts */
7 |
8 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
9 | html {
10 | font-size: 100%;
11 | } /*16px*/
12 |
13 | :root {
14 | /* colors */
15 | --primary-100: #e2e0ff;
16 | --primary-200: #c1beff;
17 | --primary-300: #a29dff;
18 | --primary-400: #837dff;
19 | --primary-500: #645cff;
20 | --primary-600: #504acc;
21 | --primary-700: #3c3799;
22 | --primary-800: #282566;
23 | --primary-900: #141233;
24 |
25 | /* grey */
26 | --grey-50: #f8fafc;
27 | --grey-100: #f1f5f9;
28 | --grey-200: #e2e8f0;
29 | --grey-300: #cbd5e1;
30 | --grey-400: #94a3b8;
31 | --grey-500: #64748b;
32 | --grey-600: #475569;
33 | --grey-700: #334155;
34 | --grey-800: #1e293b;
35 | --grey-900: #0f172a;
36 | /* rest of the colors */
37 | --black: #222;
38 | --white: #fff;
39 | --red-light: #f8d7da;
40 | --red-dark: #842029;
41 | --green-light: #d1e7dd;
42 | --green-dark: #0f5132;
43 |
44 | /* fonts */
45 |
46 | --headingFont: 'Roboto', sans-serif;
47 | --bodyFont: 'Nunito', sans-serif;
48 | --smallText: 0.7em;
49 | /* rest of the vars */
50 | --backgroundColor: var(--grey-50);
51 | --textColor: var(--grey-900);
52 | --borderRadius: 0.25rem;
53 | --letterSpacing: 1px;
54 | --transtion: 0.3s ease-in-out all;
55 | --max-width: 1120px;
56 | --fixed-width: 600px;
57 |
58 | /* box shadow*/
59 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
60 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
61 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
62 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
63 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
64 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
65 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
66 | }
67 |
68 | body {
69 | background: var(--backgroundColor);
70 | font-family: var(--bodyFont);
71 | font-weight: 400;
72 | line-height: 1.75;
73 | color: var(--textColor);
74 | }
75 |
76 | p {
77 | margin-bottom: 1.5rem;
78 | max-width: 40em;
79 | }
80 |
81 | h1,
82 | h2,
83 | h3,
84 | h4,
85 | h5 {
86 | margin: 0;
87 | margin-bottom: 1.38rem;
88 | font-family: var(--headingFont);
89 | font-weight: 400;
90 | line-height: 1.3;
91 | text-transform: capitalize;
92 | }
93 |
94 | h1 {
95 | margin-top: 0;
96 | font-size: 3.052rem;
97 | }
98 |
99 | h2 {
100 | font-size: 2.441rem;
101 | }
102 |
103 | h3 {
104 | font-size: 1.953rem;
105 | }
106 |
107 | h4 {
108 | font-size: 1.563rem;
109 | }
110 |
111 | h5 {
112 | font-size: 1.25rem;
113 | }
114 |
115 | small,
116 | .text-small {
117 | font-size: var(--smallText);
118 | }
119 |
120 | a {
121 | text-decoration: none;
122 | }
123 | ul {
124 | list-style-type: none;
125 | padding: 0;
126 | }
127 |
128 | .img {
129 | width: 100%;
130 | display: block;
131 | object-fit: cover;
132 | }
133 | /* buttons */
134 |
135 | .btn {
136 | cursor: pointer;
137 | color: var(--white);
138 | background: var(--primary-500);
139 | border: transparent;
140 | border-radius: var(--borderRadius);
141 | letter-spacing: var(--letterSpacing);
142 | padding: 0.375rem 0.75rem;
143 | box-shadow: var(--shadow-1);
144 | transition: var(--transtion);
145 | text-transform: capitalize;
146 | display: inline-block;
147 | }
148 | .btn:hover {
149 | background: var(--primary-700);
150 | box-shadow: var(--shadow-3);
151 | }
152 | .btn-hipster {
153 | color: var(--primary-500);
154 | background: var(--primary-200);
155 | }
156 | .btn-hipster:hover {
157 | color: var(--primary-200);
158 | background: var(--primary-700);
159 | }
160 | .btn-block {
161 | width: 100%;
162 | }
163 |
164 | /* alerts */
165 | .alert {
166 | padding: 0.375rem 0.75rem;
167 | margin-bottom: 1rem;
168 | border-color: transparent;
169 | border-radius: var(--borderRadius);
170 | }
171 |
172 | .alert-danger {
173 | color: var(--red-dark);
174 | background: var(--red-light);
175 | }
176 | .alert-success {
177 | color: var(--green-dark);
178 | background: var(--green-light);
179 | }
180 | /* form */
181 |
182 | .form {
183 | width: 90vw;
184 | max-width: var(--fixed-width);
185 | background: var(--white);
186 | border-radius: var(--borderRadius);
187 | box-shadow: var(--shadow-2);
188 | padding: 2rem 2.5rem;
189 | margin: 3rem auto;
190 | }
191 | .form-label {
192 | display: block;
193 | font-size: var(--smallText);
194 | margin-bottom: 0.5rem;
195 | text-transform: capitalize;
196 | letter-spacing: var(--letterSpacing);
197 | }
198 | .form-input,
199 | .form-textarea {
200 | width: 100%;
201 | padding: 0.375rem 0.75rem;
202 | border-radius: var(--borderRadius);
203 | background: var(--backgroundColor);
204 | border: 1px solid var(--grey-200);
205 | }
206 |
207 | .form-row {
208 | margin-bottom: 1rem;
209 | }
210 |
211 | .form-textarea {
212 | height: 7rem;
213 | }
214 | ::placeholder {
215 | font-family: inherit;
216 | color: var(--grey-400);
217 | }
218 | .form-alert {
219 | color: var(--red-dark);
220 | letter-spacing: var(--letterSpacing);
221 | text-transform: capitalize;
222 | }
223 | /* alert */
224 |
225 | @keyframes spinner {
226 | to {
227 | transform: rotate(360deg);
228 | }
229 | }
230 |
231 | .loading {
232 | width: 6rem;
233 | height: 6rem;
234 | border: 5px solid var(--grey-400);
235 | border-radius: 50%;
236 | border-top-color: var(--primary-500);
237 | animation: spinner 0.6s linear infinite;
238 | }
239 | .loading {
240 | margin: 0 auto;
241 | }
242 | /* title */
243 |
244 | .title {
245 | text-align: center;
246 | }
247 |
248 | .title-underline {
249 | background: var(--primary-500);
250 | width: 7rem;
251 | height: 0.25rem;
252 | margin: 0 auto;
253 | margin-top: -1rem;
254 | }
255 | /*
256 | ===============
257 | Counter
258 | ===============
259 | */
260 |
261 | main {
262 | min-height: 100vh;
263 | display: grid;
264 | place-items: center;
265 | }
266 | .container {
267 | text-align: center;
268 | }
269 | .container h1 {
270 | font-size: 4rem;
271 | font-weight: 600;
272 | margin-bottom: 0;
273 | }
274 | #value {
275 | font-size: 7rem;
276 | font-weight: 600;
277 | line-height: 1.25;
278 | }
279 |
280 | .counter-btn {
281 | text-transform: uppercase;
282 | background: transparent;
283 | color: var(--textColor);
284 | border: 2px solid var(--textColor);
285 | margin: 0.5rem;
286 | }
287 | .counter-btn:hover {
288 | background: var(--textColor);
289 | color: var(--white);
290 | }
291 |
--------------------------------------------------------------------------------
/07-modal/main.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::after,
3 | ::before {
4 | box-sizing: border-box;
5 | }
6 | /* fonts */
7 |
8 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
9 | html {
10 | font-size: 100%;
11 | } /*16px*/
12 |
13 | :root {
14 | /* colors */
15 | --primary-100: #e2e0ff;
16 | --primary-200: #c1beff;
17 | --primary-300: #a29dff;
18 | --primary-400: #837dff;
19 | --primary-500: #645cff;
20 | --primary-600: #504acc;
21 | --primary-700: #3c3799;
22 | --primary-800: #282566;
23 | --primary-900: #141233;
24 |
25 | /* grey */
26 | --grey-50: #f8fafc;
27 | --grey-100: #f1f5f9;
28 | --grey-200: #e2e8f0;
29 | --grey-300: #cbd5e1;
30 | --grey-400: #94a3b8;
31 | --grey-500: #64748b;
32 | --grey-600: #475569;
33 | --grey-700: #334155;
34 | --grey-800: #1e293b;
35 | --grey-900: #0f172a;
36 | /* rest of the colors */
37 | --black: #222;
38 | --white: #fff;
39 | --red-light: #f8d7da;
40 | --red-dark: #842029;
41 | --green-light: #d1e7dd;
42 | --green-dark: #0f5132;
43 |
44 | /* fonts */
45 | --headingFont: 'Roboto', sans-serif;
46 | --bodyFont: 'Nunito', sans-serif;
47 | --smallText: 0.7em;
48 | /* rest of the vars */
49 | --backgroundColor: var(--grey-50);
50 | --textColor: var(--grey-900);
51 | --borderRadius: 0.25rem;
52 | --letterSpacing: 1px;
53 | --transition: 0.3s ease-in-out all;
54 | --max-width: 1120px;
55 | --fixed-width: 600px;
56 |
57 | /* box shadow*/
58 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
59 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
60 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
61 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
62 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
63 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
64 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
65 | }
66 |
67 | body {
68 | background: var(--backgroundColor);
69 | font-family: var(--bodyFont);
70 | font-weight: 400;
71 | line-height: 1.75;
72 | color: var(--textColor);
73 | }
74 |
75 | p {
76 | margin-bottom: 1.5rem;
77 | max-width: 40em;
78 | }
79 |
80 | h1,
81 | h2,
82 | h3,
83 | h4,
84 | h5 {
85 | margin: 0;
86 | margin-bottom: 1.38rem;
87 | font-family: var(--headingFont);
88 | font-weight: 400;
89 | line-height: 1.3;
90 | text-transform: capitalize;
91 | letter-spacing: var(--letterSpacing);
92 | }
93 |
94 | h1 {
95 | margin-top: 0;
96 | font-size: 3.052rem;
97 | }
98 |
99 | h2 {
100 | font-size: 2.441rem;
101 | }
102 |
103 | h3 {
104 | font-size: 1.953rem;
105 | }
106 |
107 | h4 {
108 | font-size: 1.563rem;
109 | }
110 |
111 | h5 {
112 | font-size: 1.25rem;
113 | }
114 |
115 | small,
116 | .text-small {
117 | font-size: var(--smallText);
118 | }
119 |
120 | a {
121 | text-decoration: none;
122 | }
123 | ul {
124 | list-style-type: none;
125 | padding: 0;
126 | }
127 |
128 | .img {
129 | width: 100%;
130 | display: block;
131 | object-fit: cover;
132 | }
133 | /* buttons */
134 |
135 | .btn {
136 | cursor: pointer;
137 | color: var(--white);
138 | background: var(--primary-500);
139 | border: transparent;
140 | border-radius: var(--borderRadius);
141 | letter-spacing: var(--letterSpacing);
142 | padding: 0.375rem 0.75rem;
143 | box-shadow: var(--shadow-1);
144 | transition: var(--transition);
145 | text-transform: capitalize;
146 | display: inline-block;
147 | }
148 | .btn:hover {
149 | background: var(--primary-700);
150 | box-shadow: var(--shadow-3);
151 | }
152 | .btn-hipster {
153 | color: var(--primary-500);
154 | background: var(--primary-200);
155 | }
156 | .btn-hipster:hover {
157 | color: var(--primary-200);
158 | background: var(--primary-700);
159 | }
160 | .btn-block {
161 | width: 100%;
162 | }
163 |
164 | /* alerts */
165 | .alert {
166 | padding: 0.375rem 0.75rem;
167 | margin-bottom: 1rem;
168 | border-color: transparent;
169 | border-radius: var(--borderRadius);
170 | }
171 |
172 | .alert-danger {
173 | color: var(--red-dark);
174 | background: var(--red-light);
175 | }
176 | .alert-success {
177 | color: var(--green-dark);
178 | background: var(--green-light);
179 | }
180 | /* form */
181 |
182 | .form {
183 | width: 90vw;
184 | max-width: var(--fixed-width);
185 | background: var(--white);
186 | border-radius: var(--borderRadius);
187 | box-shadow: var(--shadow-2);
188 | padding: 2rem 2.5rem;
189 | margin: 3rem auto;
190 | }
191 | .form-label {
192 | display: block;
193 | font-size: var(--smallText);
194 | margin-bottom: 0.5rem;
195 | text-transform: capitalize;
196 | letter-spacing: var(--letterSpacing);
197 | }
198 | .form-input,
199 | .form-textarea {
200 | width: 100%;
201 | padding: 0.375rem 0.75rem;
202 | border-radius: var(--borderRadius);
203 | background: var(--backgroundColor);
204 | border: 1px solid var(--grey-200);
205 | }
206 |
207 | .form-row {
208 | margin-bottom: 1rem;
209 | }
210 |
211 | .form-textarea {
212 | height: 7rem;
213 | }
214 | ::placeholder {
215 | font-family: inherit;
216 | color: var(--grey-400);
217 | }
218 | .form-alert {
219 | color: var(--red-dark);
220 | letter-spacing: var(--letterSpacing);
221 | text-transform: capitalize;
222 | }
223 | /* alert */
224 |
225 | @keyframes spinner {
226 | to {
227 | transform: rotate(360deg);
228 | }
229 | }
230 |
231 | .loading {
232 | width: 6rem;
233 | height: 6rem;
234 | border: 5px solid var(--grey-400);
235 | border-radius: 50%;
236 | border-top-color: var(--primary-500);
237 | animation: spinner 0.6s linear infinite;
238 | }
239 | .loading {
240 | margin: 0 auto;
241 | }
242 | /* title */
243 |
244 | .title {
245 | text-align: center;
246 | }
247 |
248 | .title-underline {
249 | background: var(--primary-500);
250 | width: 7rem;
251 | height: 0.25rem;
252 | margin: 0 auto;
253 | margin-top: -1rem;
254 | }
255 | /*
256 | ===============
257 | Modal
258 | ===============
259 | */
260 |
261 | .hero {
262 | min-height: 100vh;
263 | background: url('./hero.jpeg') center/cover no-repeat;
264 | display: grid;
265 | place-items: center;
266 | }
267 | .banner {
268 | background: var(--white);
269 | padding: 4rem 0;
270 | border-radius: var(--borderRadius);
271 | box-shadow: var(--shadow-2);
272 | text-align: center;
273 | width: 90vw;
274 | max-width: var(--fixed-width);
275 | }
276 |
277 | .modal-overlay {
278 | position: fixed;
279 | top: 0;
280 | left: 0;
281 | width: 100%;
282 | height: 100%;
283 | background: rgba(73, 166, 233, 0.5);
284 | display: grid;
285 | place-items: center;
286 | transition: all 1.5s ease-in-out;
287 | visibility: hidden;
288 | z-index: -10;
289 | /* display: none; */
290 | }
291 | /* OPEN/CLOSE MODAL */
292 | .open-modal {
293 | visibility: visible;
294 | z-index: 10;
295 | /* display: grid; */
296 | }
297 | .modal-container {
298 | background: var(--white);
299 | border-radius: var(--borderRadius);
300 | width: 90vw;
301 | height: 35vh;
302 | max-width: var(--fixed-width);
303 | text-align: center;
304 | display: grid;
305 | place-items: center;
306 | position: relative;
307 | }
308 | .close-btn {
309 | position: absolute;
310 | top: 1rem;
311 | right: 1rem;
312 | font-size: 2rem;
313 | background: transparent;
314 | border-color: transparent;
315 | color: var(--red-dark);
316 | cursor: pointer;
317 | transition: var(--transition);
318 | }
319 | .close-btn:hover {
320 | transform: rotate(360deg) scale(1.3);
321 | }
322 |
--------------------------------------------------------------------------------
/08-questions/main.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::after,
3 | ::before {
4 | box-sizing: border-box;
5 | }
6 | /* fonts */
7 |
8 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
9 | html {
10 | font-size: 100%;
11 | } /*16px*/
12 |
13 | :root {
14 | /* colors */
15 | --primary-100: #e2e0ff;
16 | --primary-200: #c1beff;
17 | --primary-300: #a29dff;
18 | --primary-400: #837dff;
19 | --primary-500: #645cff;
20 | --primary-600: #504acc;
21 | --primary-700: #3c3799;
22 | --primary-800: #282566;
23 | --primary-900: #141233;
24 |
25 | /* grey */
26 | --grey-50: #f8fafc;
27 | --grey-100: #f1f5f9;
28 | --grey-200: #e2e8f0;
29 | --grey-300: #cbd5e1;
30 | --grey-400: #94a3b8;
31 | --grey-500: #64748b;
32 | --grey-600: #475569;
33 | --grey-700: #334155;
34 | --grey-800: #1e293b;
35 | --grey-900: #0f172a;
36 | /* rest of the colors */
37 | --black: #222;
38 | --white: #fff;
39 | --red-light: #f8d7da;
40 | --red-dark: #842029;
41 | --green-light: #d1e7dd;
42 | --green-dark: #0f5132;
43 |
44 | /* fonts */
45 | --headingFont: 'Roboto', sans-serif;
46 | --bodyFont: 'Nunito', sans-serif;
47 | --smallText: 0.7em;
48 | /* rest of the vars */
49 | --backgroundColor: var(--grey-50);
50 | --textColor: var(--grey-900);
51 | --borderRadius: 0.25rem;
52 | --letterSpacing: 1px;
53 | --transition: 0.3s ease-in-out all;
54 | --max-width: 1120px;
55 | --fixed-width: 600px;
56 |
57 | /* box shadow*/
58 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
59 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
60 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
61 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
62 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
63 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
64 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
65 | --gold: #c59d5f;
66 | }
67 |
68 | body {
69 | background: var(--backgroundColor);
70 | font-family: var(--bodyFont);
71 | font-weight: 400;
72 | line-height: 1.75;
73 | color: var(--textColor);
74 | }
75 |
76 | p {
77 | margin-bottom: 1.5rem;
78 | max-width: 40em;
79 | }
80 |
81 | h1,
82 | h2,
83 | h3,
84 | h4,
85 | h5 {
86 | margin: 0;
87 | margin-bottom: 1.38rem;
88 | font-family: var(--headingFont);
89 | font-weight: 400;
90 | line-height: 1.3;
91 | text-transform: capitalize;
92 | letter-spacing: var(--letterSpacing);
93 | }
94 |
95 | h1 {
96 | margin-top: 0;
97 | font-size: 3.052rem;
98 | }
99 |
100 | h2 {
101 | font-size: 2.441rem;
102 | }
103 |
104 | h3 {
105 | font-size: 1.953rem;
106 | }
107 |
108 | h4 {
109 | font-size: 1.563rem;
110 | }
111 |
112 | h5 {
113 | font-size: 1.25rem;
114 | }
115 |
116 | small,
117 | .text-small {
118 | font-size: var(--smallText);
119 | }
120 |
121 | a {
122 | text-decoration: none;
123 | }
124 | ul {
125 | list-style-type: none;
126 | padding: 0;
127 | }
128 |
129 | .img {
130 | width: 100%;
131 | display: block;
132 | object-fit: cover;
133 | }
134 | /* buttons */
135 |
136 | .btn {
137 | cursor: pointer;
138 | color: var(--white);
139 | background: var(--primary-500);
140 | border: transparent;
141 | border-radius: var(--borderRadius);
142 | letter-spacing: var(--letterSpacing);
143 | padding: 0.375rem 0.75rem;
144 | box-shadow: var(--shadow-1);
145 | transition: var(--transition);
146 | text-transform: capitalize;
147 | display: inline-block;
148 | }
149 | .btn:hover {
150 | background: var(--primary-700);
151 | box-shadow: var(--shadow-3);
152 | }
153 | .btn-hipster {
154 | color: var(--primary-500);
155 | background: var(--primary-200);
156 | }
157 | .btn-hipster:hover {
158 | color: var(--primary-200);
159 | background: var(--primary-700);
160 | }
161 | .btn-block {
162 | width: 100%;
163 | }
164 |
165 | /* alerts */
166 | .alert {
167 | padding: 0.375rem 0.75rem;
168 | margin-bottom: 1rem;
169 | border-color: transparent;
170 | border-radius: var(--borderRadius);
171 | }
172 |
173 | .alert-danger {
174 | color: var(--red-dark);
175 | background: var(--red-light);
176 | }
177 | .alert-success {
178 | color: var(--green-dark);
179 | background: var(--green-light);
180 | }
181 | /* form */
182 |
183 | .form {
184 | width: 90vw;
185 | max-width: var(--fixed-width);
186 | background: var(--white);
187 | border-radius: var(--borderRadius);
188 | box-shadow: var(--shadow-2);
189 | padding: 2rem 2.5rem;
190 | margin: 3rem auto;
191 | }
192 | .form-label {
193 | display: block;
194 | font-size: var(--smallText);
195 | margin-bottom: 0.5rem;
196 | text-transform: capitalize;
197 | letter-spacing: var(--letterSpacing);
198 | }
199 | .form-input,
200 | .form-textarea {
201 | width: 100%;
202 | padding: 0.375rem 0.75rem;
203 | border-radius: var(--borderRadius);
204 | background: var(--backgroundColor);
205 | border: 1px solid var(--grey-200);
206 | }
207 |
208 | .form-row {
209 | margin-bottom: 1rem;
210 | }
211 |
212 | .form-textarea {
213 | height: 7rem;
214 | }
215 | ::placeholder {
216 | font-family: inherit;
217 | color: var(--grey-400);
218 | }
219 | .form-alert {
220 | color: var(--red-dark);
221 | letter-spacing: var(--letterSpacing);
222 | text-transform: capitalize;
223 | }
224 | /* alert */
225 |
226 | @keyframes spinner {
227 | to {
228 | transform: rotate(360deg);
229 | }
230 | }
231 |
232 | .loading {
233 | width: 6rem;
234 | height: 6rem;
235 | border: 5px solid var(--grey-400);
236 | border-radius: 50%;
237 | border-top-color: var(--primary-500);
238 | animation: spinner 0.6s linear infinite;
239 | }
240 | .loading {
241 | margin: 0 auto;
242 | }
243 | /* title */
244 |
245 | .title {
246 | text-align: center;
247 | }
248 |
249 | .title-underline {
250 | background: var(--primary-500);
251 | width: 7rem;
252 | height: 0.25rem;
253 | margin: 0 auto;
254 | margin-top: -1rem;
255 | }
256 | /* add gold color to css vars */
257 | /*
258 | ===============
259 | Questions
260 | ===============
261 | */
262 | .questions {
263 | margin-top: 10rem;
264 | }
265 | .questions .title {
266 | color: var(--gold);
267 | font-family: 'Great Vibes', cursive;
268 | }
269 | .section-center {
270 | max-width: var(--fixed-width);
271 | margin: 0 auto;
272 | margin-top: 3rem;
273 | }
274 | .question {
275 | background: var(--white);
276 | border-radius: var(--borderRadius);
277 | box-shadow: var(--shadow-2);
278 | padding: 1.5rem 1rem;
279 | margin-bottom: 2rem;
280 | }
281 | .question-title {
282 | display: flex;
283 | justify-content: space-between;
284 | align-items: center;
285 | }
286 |
287 | .question-title p {
288 | margin: 0;
289 | letter-spacing: var(--spacing);
290 | color: var(--grey-800);
291 | }
292 | .question-btn {
293 | font-size: 1.5rem;
294 | background: transparent;
295 | border-color: transparent;
296 | cursor: pointer;
297 | color: var(--gold);
298 | transition: var(--transition);
299 | }
300 | .question-btn:hover {
301 | transform: rotate(90deg);
302 | }
303 | .question-text {
304 | padding-top: 1rem;
305 | margin-top: 1rem;
306 | border-top: 1px solid rgba(0, 0, 0, 0.2);
307 | }
308 | .question-text p {
309 | margin: 0;
310 | color: var(--grey-500);
311 | }
312 | /* hide text */
313 | .question-text {
314 | display: none;
315 | }
316 | .show-text .question-text {
317 | display: block;
318 | }
319 | .minus-icon {
320 | display: none;
321 | }
322 | .show-text .minus-icon {
323 | display: inline;
324 | }
325 | .show-text .plus-icon {
326 | display: none;
327 | }
328 |
--------------------------------------------------------------------------------
/09-menu/main.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::after,
3 | ::before {
4 | box-sizing: border-box;
5 | }
6 | /* fonts */
7 |
8 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
9 | html {
10 | font-size: 100%;
11 | } /*16px*/
12 |
13 | :root {
14 | /* colors */
15 | --primary-100: #e2e0ff;
16 | --primary-200: #c1beff;
17 | --primary-300: #a29dff;
18 | --primary-400: #837dff;
19 | --primary-500: #645cff;
20 | --primary-600: #504acc;
21 | --primary-700: #3c3799;
22 | --primary-800: #282566;
23 | --primary-900: #141233;
24 |
25 | /* grey */
26 | --grey-50: #f8fafc;
27 | --grey-100: #f1f5f9;
28 | --grey-200: #e2e8f0;
29 | --grey-300: #cbd5e1;
30 | --grey-400: #94a3b8;
31 | --grey-500: #64748b;
32 | --grey-600: #475569;
33 | --grey-700: #334155;
34 | --grey-800: #1e293b;
35 | --grey-900: #0f172a;
36 | /* rest of the colors */
37 | --black: #222;
38 | --white: #fff;
39 | --red-light: #f8d7da;
40 | --red-dark: #842029;
41 | --green-light: #d1e7dd;
42 | --green-dark: #0f5132;
43 |
44 | /* fonts */
45 | --headingFont: 'Roboto', sans-serif;
46 | --bodyFont: 'Nunito', sans-serif;
47 | --smallText: 0.7em;
48 | /* rest of the vars */
49 | --backgroundColor: var(--grey-50);
50 | --textColor: var(--grey-900);
51 | --borderRadius: 0.25rem;
52 | --letterSpacing: 1px;
53 | --transition: 0.3s ease-in-out all;
54 | --max-width: 1120px;
55 | --fixed-width: 600px;
56 |
57 | /* box shadow*/
58 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
59 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
60 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
61 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
62 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
63 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
64 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
65 | }
66 |
67 | body {
68 | background: var(--backgroundColor);
69 | font-family: var(--bodyFont);
70 | font-weight: 400;
71 | line-height: 1.75;
72 | color: var(--textColor);
73 | }
74 |
75 | p {
76 | margin-bottom: 1.5rem;
77 | max-width: 40em;
78 | }
79 |
80 | h1,
81 | h2,
82 | h3,
83 | h4,
84 | h5 {
85 | margin: 0;
86 | margin-bottom: 1.38rem;
87 | font-family: var(--headingFont);
88 | font-weight: 400;
89 | line-height: 1.3;
90 | text-transform: capitalize;
91 | letter-spacing: var(--letterSpacing);
92 | }
93 |
94 | h1 {
95 | margin-top: 0;
96 | font-size: 3.052rem;
97 | }
98 |
99 | h2 {
100 | font-size: 2.441rem;
101 | }
102 |
103 | h3 {
104 | font-size: 1.953rem;
105 | }
106 |
107 | h4 {
108 | font-size: 1.563rem;
109 | }
110 |
111 | h5 {
112 | font-size: 1.25rem;
113 | }
114 |
115 | small,
116 | .text-small {
117 | font-size: var(--smallText);
118 | }
119 |
120 | a {
121 | text-decoration: none;
122 | }
123 | ul {
124 | list-style-type: none;
125 | padding: 0;
126 | }
127 |
128 | .img {
129 | width: 100%;
130 | display: block;
131 | object-fit: cover;
132 | }
133 | /* buttons */
134 |
135 | .btn {
136 | cursor: pointer;
137 | color: var(--white);
138 | background: var(--primary-500);
139 | border: transparent;
140 | border-radius: var(--borderRadius);
141 | letter-spacing: var(--letterSpacing);
142 | padding: 0.375rem 0.75rem;
143 | box-shadow: var(--shadow-1);
144 | transition: var(--transition);
145 | text-transform: capitalize;
146 | display: inline-block;
147 | }
148 | .btn:hover {
149 | background: var(--primary-700);
150 | box-shadow: var(--shadow-3);
151 | }
152 | .btn-hipster {
153 | color: var(--primary-500);
154 | background: var(--primary-200);
155 | }
156 | .btn-hipster:hover {
157 | color: var(--primary-200);
158 | background: var(--primary-700);
159 | }
160 | .btn-block {
161 | width: 100%;
162 | }
163 |
164 | /* alerts */
165 | .alert {
166 | padding: 0.375rem 0.75rem;
167 | margin-bottom: 1rem;
168 | border-color: transparent;
169 | border-radius: var(--borderRadius);
170 | }
171 |
172 | .alert-danger {
173 | color: var(--red-dark);
174 | background: var(--red-light);
175 | }
176 | .alert-success {
177 | color: var(--green-dark);
178 | background: var(--green-light);
179 | }
180 | /* form */
181 |
182 | .form {
183 | width: 90vw;
184 | max-width: var(--fixed-width);
185 | background: var(--white);
186 | border-radius: var(--borderRadius);
187 | box-shadow: var(--shadow-2);
188 | padding: 2rem 2.5rem;
189 | margin: 3rem auto;
190 | }
191 | .form-label {
192 | display: block;
193 | font-size: var(--smallText);
194 | margin-bottom: 0.5rem;
195 | text-transform: capitalize;
196 | letter-spacing: var(--letterSpacing);
197 | }
198 | .form-input,
199 | .form-textarea {
200 | width: 100%;
201 | padding: 0.375rem 0.75rem;
202 | border-radius: var(--borderRadius);
203 | background: var(--backgroundColor);
204 | border: 1px solid var(--grey-200);
205 | }
206 |
207 | .form-row {
208 | margin-bottom: 1rem;
209 | }
210 |
211 | .form-textarea {
212 | height: 7rem;
213 | }
214 | ::placeholder {
215 | font-family: inherit;
216 | color: var(--grey-400);
217 | }
218 | .form-alert {
219 | color: var(--red-dark);
220 | letter-spacing: var(--letterSpacing);
221 | text-transform: capitalize;
222 | }
223 | /* alert */
224 |
225 | @keyframes spinner {
226 | to {
227 | transform: rotate(360deg);
228 | }
229 | }
230 |
231 | .loading {
232 | width: 6rem;
233 | height: 6rem;
234 | border: 5px solid var(--grey-400);
235 | border-radius: 50%;
236 | border-top-color: var(--primary-500);
237 | animation: spinner 0.6s linear infinite;
238 | }
239 | .loading {
240 | margin: 0 auto;
241 | }
242 | /* title */
243 |
244 | .title {
245 | text-align: center;
246 | }
247 |
248 | .title-underline {
249 | background: var(--primary-500);
250 | width: 7rem;
251 | height: 0.25rem;
252 | margin: 0 auto;
253 | margin-top: -1rem;
254 | }
255 | /*
256 | ===============
257 | Menu
258 | ===============
259 | */
260 | .menu {
261 | padding: 5rem 0;
262 | }
263 |
264 | .btn-container {
265 | margin-top: 2rem;
266 | margin-bottom: 4rem;
267 | display: flex;
268 | justify-content: center;
269 | gap: 1rem;
270 | }
271 | .filter-btn {
272 | background: transparent;
273 | color: var(--primary-500);
274 | border: 1px solid var(--primary-500);
275 | }
276 | .filter-btn:hover {
277 | color: var(--white);
278 | border: 1px solid var(--primary-700);
279 | }
280 | .section-center {
281 | width: 90vw;
282 | margin: 0 auto;
283 | max-width: 1170px;
284 | display: grid;
285 | gap: 3rem 2rem;
286 | justify-items: center;
287 | }
288 | .menu-item {
289 | display: grid;
290 | gap: 1rem 2rem;
291 | max-width: 25rem;
292 | }
293 | .photo {
294 | height: 200px;
295 | border-radius: var(--borderRadius);
296 | }
297 | .item-info header {
298 | display: flex;
299 | justify-content: space-between;
300 | border-bottom: 3px dotted var(--grey-500);
301 | }
302 | .item-info h5 {
303 | margin-bottom: 0.5rem;
304 | }
305 | .price {
306 | color: var(--primary-500);
307 | }
308 | .item-text {
309 | margin: 0;
310 | color: var(--grey-500);
311 | padding-top: 0.5rem;
312 | }
313 |
314 | @media screen and (min-width: 768px) {
315 | .menu-item {
316 | grid-template-columns: 225px 1fr;
317 | gap: 0 1.25rem;
318 | max-width: 40rem;
319 | }
320 | .photo {
321 | height: 175px;
322 | }
323 | }
324 | @media screen and (min-width: 1200px) {
325 | .section-center {
326 | width: 95vw;
327 | grid-template-columns: 1fr 1fr;
328 | }
329 | .photo {
330 | height: 150px;
331 | }
332 | }
333 |
--------------------------------------------------------------------------------
/01-color-flipper/main.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::after,
3 | ::before {
4 | box-sizing: border-box;
5 | }
6 | /* fonts */
7 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
8 | html {
9 | font-size: 100%;
10 | } /*16px*/
11 |
12 | :root {
13 | /* colors */
14 | --primary-100: #e2e0ff;
15 | --primary-200: #c1beff;
16 | --primary-300: #a29dff;
17 | --primary-400: #837dff;
18 | --primary-500: #645cff;
19 | --primary-600: #504acc;
20 | --primary-700: #3c3799;
21 | --primary-800: #282566;
22 | --primary-900: #141233;
23 |
24 | /* grey */
25 | --grey-50: #f8fafc;
26 | --grey-100: #f1f5f9;
27 | --grey-200: #e2e8f0;
28 | --grey-300: #cbd5e1;
29 | --grey-400: #94a3b8;
30 | --grey-500: #64748b;
31 | --grey-600: #475569;
32 | --grey-700: #334155;
33 | --grey-800: #1e293b;
34 | --grey-900: #0f172a;
35 | /* rest of the colors */
36 | --black: #222;
37 | --white: #fff;
38 | --red-light: #f8d7da;
39 | --red-dark: #842029;
40 | --green-light: #d1e7dd;
41 | --green-dark: #0f5132;
42 |
43 | /* fonts */
44 | --headingFont: 'Roboto', sans-serif;
45 | --bodyFont: 'Nunito', sans-serif;
46 | --smallText: 0.7em;
47 | /* rest of the vars */
48 | --backgroundColor: var(--grey-50);
49 | --textColor: var(--grey-900);
50 | --borderRadius: 0.25rem;
51 | --letterSpacing: 1px;
52 | --transtion: 0.3s ease-in-out all;
53 | --max-width: 1120px;
54 | --fixed-width: 600px;
55 |
56 | /* box shadow*/
57 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
58 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
59 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
60 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
61 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
62 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
63 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
64 | }
65 |
66 | body {
67 | background: var(--backgroundColor);
68 | font-family: var(--bodyFont);
69 | font-weight: 400;
70 | line-height: 1.75;
71 | color: var(--textColor);
72 | }
73 |
74 | p {
75 | margin-bottom: 1.5rem;
76 | max-width: 40em;
77 | }
78 |
79 | h1,
80 | h2,
81 | h3,
82 | h4,
83 | h5 {
84 | margin: 0;
85 | margin-bottom: 1.38rem;
86 | font-family: var(--headingFont);
87 | font-weight: 400;
88 | line-height: 1.3;
89 | text-transform: capitalize;
90 | }
91 |
92 | h1 {
93 | margin-top: 0;
94 | font-size: 3.052rem;
95 | }
96 |
97 | h2 {
98 | font-size: 2.441rem;
99 | }
100 |
101 | h3 {
102 | font-size: 1.953rem;
103 | }
104 |
105 | h4 {
106 | font-size: 1.563rem;
107 | }
108 |
109 | h5 {
110 | font-size: 1.25rem;
111 | }
112 |
113 | small,
114 | .text-small {
115 | font-size: var(--smallText);
116 | }
117 |
118 | a {
119 | text-decoration: none;
120 | }
121 | ul {
122 | list-style-type: none;
123 | padding: 0;
124 | }
125 |
126 | .img {
127 | width: 100%;
128 | display: block;
129 | object-fit: cover;
130 | }
131 | /* buttons */
132 |
133 | .btn {
134 | cursor: pointer;
135 | color: var(--white);
136 | background: var(--primary-500);
137 | border: transparent;
138 | border-radius: var(--borderRadius);
139 | letter-spacing: var(--letterSpacing);
140 | padding: 0.375rem 0.75rem;
141 | box-shadow: var(--shadow-1);
142 | transition: var(--transtion);
143 | text-transform: capitalize;
144 | display: inline-block;
145 | }
146 | .btn:hover {
147 | background: var(--primary-700);
148 | box-shadow: var(--shadow-3);
149 | }
150 | .btn-hipster {
151 | color: var(--primary-500);
152 | background: var(--primary-200);
153 | }
154 | .btn-hipster:hover {
155 | color: var(--primary-200);
156 | background: var(--primary-700);
157 | }
158 | .btn-block {
159 | width: 100%;
160 | }
161 |
162 | /* alerts */
163 | .alert {
164 | padding: 0.375rem 0.75rem;
165 | margin-bottom: 1rem;
166 | border-color: transparent;
167 | border-radius: var(--borderRadius);
168 | }
169 |
170 | .alert-danger {
171 | color: var(--red-dark);
172 | background: var(--red-light);
173 | }
174 | .alert-success {
175 | color: var(--green-dark);
176 | background: var(--green-light);
177 | }
178 | /* form */
179 |
180 | .form {
181 | width: 90vw;
182 | max-width: var(--fixed-width);
183 | background: var(--white);
184 | border-radius: var(--borderRadius);
185 | box-shadow: var(--shadow-2);
186 | padding: 2rem 2.5rem;
187 | margin: 3rem auto;
188 | }
189 | .form-label {
190 | display: block;
191 | font-size: var(--smallText);
192 | margin-bottom: 0.5rem;
193 | text-transform: capitalize;
194 | letter-spacing: var(--letterSpacing);
195 | }
196 | .form-input,
197 | .form-textarea {
198 | width: 100%;
199 | padding: 0.375rem 0.75rem;
200 | border-radius: var(--borderRadius);
201 | background: var(--backgroundColor);
202 | border: 1px solid var(--grey-200);
203 | }
204 |
205 | .form-row {
206 | margin-bottom: 1rem;
207 | }
208 |
209 | .form-textarea {
210 | height: 7rem;
211 | }
212 | ::placeholder {
213 | font-family: inherit;
214 | color: var(--grey-400);
215 | }
216 | .form-alert {
217 | color: var(--red-dark);
218 | letter-spacing: var(--letterSpacing);
219 | text-transform: capitalize;
220 | }
221 | /* alert */
222 |
223 | @keyframes spinner {
224 | to {
225 | transform: rotate(360deg);
226 | }
227 | }
228 |
229 | .loading {
230 | width: 6rem;
231 | height: 6rem;
232 | border: 5px solid var(--grey-400);
233 | border-radius: 50%;
234 | border-top-color: var(--primary-500);
235 | animation: spinner 0.6s linear infinite;
236 | }
237 | .loading {
238 | margin: 0 auto;
239 | }
240 | /* title */
241 |
242 | .title {
243 | text-align: center;
244 | }
245 |
246 | .title-underline {
247 | background: var(--primary-500);
248 | width: 7rem;
249 | height: 0.25rem;
250 | margin: 0 auto;
251 | margin-top: -1rem;
252 | }
253 |
254 | /*
255 | ===============
256 | Nav
257 | ===============
258 | */
259 | nav {
260 | background: var(--white);
261 | height: 4rem;
262 | display: grid;
263 | align-items: center;
264 | box-shadow: var(--shadow-2);
265 | }
266 | .nav-center {
267 | width: 90vw;
268 | max-width: var(--fixed-width);
269 | margin: 0 auto;
270 | display: flex;
271 | align-items: center;
272 | justify-content: space-between;
273 | }
274 | .nav-center h4 {
275 | margin-bottom: 0;
276 | color: var(--primary-500);
277 | letter-spacing: 2px;
278 | font-weight: 600;
279 | }
280 | .nav-links {
281 | display: flex;
282 | }
283 | nav a {
284 | text-transform: capitalize;
285 | font-size: 1rem;
286 | color: var(--primary-900);
287 | letter-spacing: var(--letterSpacing);
288 | margin-right: 1rem;
289 | transition: var(--transtion);
290 | }
291 | nav a:hover {
292 | color: var(--primary-500);
293 | }
294 | /*
295 | ===============
296 | Container
297 | ===============
298 | */
299 | main {
300 | min-height: calc(100vh - 4rem);
301 | display: grid;
302 | place-items: center;
303 | }
304 | .container {
305 | text-align: center;
306 | }
307 | .container h2 {
308 | background: var(--black);
309 | color: var(--white);
310 | padding: 1rem;
311 | border-radius: var(--borderRadius);
312 | margin-bottom: 2.5rem;
313 | letter-spacing: 5px;
314 | font-weight: bold;
315 | }
316 | .color {
317 | color: var(--primary-500);
318 | text-transform: uppercase;
319 | }
320 | .btn-hero {
321 | text-transform: uppercase;
322 | background: transparent;
323 | color: var(--black);
324 | letter-spacing: 0.25rem;
325 | font-weight: bold;
326 | border: 2px solid var(--black);
327 | padding: 0.75rem 1.25rem;
328 | }
329 | .btn-hero:hover {
330 | color: var(--white);
331 | background: var(--black);
332 | }
333 |
--------------------------------------------------------------------------------
/06-sidebar/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/styles.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
2 | *,
3 | ::after,
4 | ::before {
5 | box-sizing: border-box;
6 | }
7 | :root {
8 | /* COLORS */
9 | /* primary */
10 |
11 | --primary-100: #e0deff;
12 | --primary-200: #c1beff;
13 | --primary-300: #a29dff;
14 | --primary-400: #837dff;
15 | /* main */
16 | --primary-500: #645cff;
17 | --primary-600: #504acc;
18 | --primary-700: #3c3799;
19 | --primary-800: #282566;
20 | --primary-900: #141233;
21 |
22 | /* grey */
23 | --grey-50: #f8fafc;
24 | --grey-100: #f1f5f9;
25 | --grey-200: #e2e8f0;
26 | --grey-300: #cbd5e1;
27 | --grey-400: #94a3b8;
28 | --grey-500: #64748b;
29 | --grey-600: #475569;
30 | --grey-700: #334155;
31 | --grey-800: #1e293b;
32 | --grey-900: #0f172a;
33 |
34 | /* rest */
35 | --primary-design: #ff8e3c;
36 | --black-design: #0d0d0d;
37 | --grey-design: #eff0f3;
38 | --black: #222;
39 | --white: #fff;
40 | --red-light: #f8d7da;
41 | --red-dark: #842029;
42 | --green-light: #d1e7dd;
43 | --green-dark: #0f5132;
44 |
45 | /* typography */
46 | --defaultFontSize: 87.5%;
47 | --headingFont: 'Roboto', sans-serif;
48 | --bodyFont: 'Nunito', sans-serif;
49 | --smallText: 0.7em;
50 | /* rest */
51 | --backgroundColor: var(--white);
52 | --textColor: var(--grey-900);
53 | --borderRadius: 0.25rem;
54 | --letterSpacing: 1px;
55 | --transition: 0.3s ease-in-out all;
56 | --max-width: 1120px;
57 | --fixed-width: 600px;
58 |
59 | /* box shadows */
60 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
61 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
62 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
63 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
64 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
65 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
66 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
67 | }
68 |
69 | @media only screen and (min-width: 576px) {
70 | :root {
71 | --defaultFontSize: 100%;
72 | }
73 | }
74 | @media only screen and (min-width: 768px) {
75 | :root {
76 | --defaultFontSize: 112.5%;
77 | }
78 | }
79 |
80 | body {
81 | background: var(--backgroundColor);
82 | color: var(--textColor);
83 | font-family: var(--bodyFont);
84 | font-weight: 400;
85 | line-height: 1.75;
86 | }
87 |
88 | p {
89 | margin-bottom: 1.5rem;
90 | max-width: 40em;
91 | }
92 |
93 | h1,
94 | h2,
95 | h3,
96 | h4,
97 | h5 {
98 | margin: 0;
99 | margin-bottom: 1.38rem;
100 | font-family: var(--headingFont);
101 | font-weight: 400;
102 | line-height: 1.3;
103 | text-transform: capitalize;
104 | letter-spacing: var(--letterSpacing);
105 | }
106 | .img {
107 | width: 100%;
108 | display: block;
109 | }
110 | h1 {
111 | font-size: 3.052rem;
112 | }
113 |
114 | h2 {
115 | font-size: 2.441rem;
116 | }
117 |
118 | h3 {
119 | font-size: 1.953rem;
120 | }
121 |
122 | h4 {
123 | font-size: 1.563rem;
124 | }
125 |
126 | h5 {
127 | font-size: 1.25rem;
128 | }
129 |
130 | small,
131 | .text_small {
132 | font-size: var(--smallText);
133 | }
134 |
135 | ul {
136 | padding: 0;
137 | list-style-type: none;
138 | }
139 | a {
140 | text-decoration: none;
141 | }
142 | /*************
143 | Buttons
144 | *************/
145 | button,
146 | .btn {
147 | cursor: pointer;
148 | appearance: none;
149 | color: var(--white);
150 | background: var(--primary-500);
151 | border: none;
152 | border-radius: var(--borderRadius);
153 | letter-spacing: var(--letterSpacing);
154 | padding: 0.375rem 0.75rem;
155 | box-shadow: var(--shadow-1);
156 | transition: var(--transition);
157 | text-transform: capitalize;
158 | }
159 | button:hover,
160 | .btn:hover {
161 | color: var(--white);
162 | background: var(--primary-700);
163 | box-shadow: var(--shadow-2);
164 | }
165 | button.small {
166 | padding: 0.25rem 0.5rem;
167 | font-size: var(--smallText);
168 | }
169 | button.hipster {
170 | color: var(--primary-500);
171 | background: var(--primary-50);
172 | box-shadow: var(--shadow-1);
173 | }
174 | button.hipster:hover {
175 | background: var(--primary-100);
176 | box-shadow: var(--shadow-2);
177 | }
178 | button.block {
179 | width: 100%;
180 | }
181 |
182 | /*
183 | ===============
184 | Hero
185 | ===============
186 | */
187 |
188 | .hero {
189 | min-height: 40vh;
190 | background: var(--white);
191 | display: flex;
192 | align-items: center;
193 | justify-content: center;
194 | padding: 5rem 0;
195 | }
196 | .hero img {
197 | display: none;
198 | }
199 | .hero-center {
200 | width: 90vw;
201 | max-width: var(--max-width);
202 | }
203 | @media screen and (min-width: 992px) {
204 | .hero {
205 | min-height: 60vh;
206 | }
207 | .hero-center {
208 | display: grid;
209 | grid-template-columns: 1fr 1fr;
210 | place-items: center;
211 | gap: 2rem;
212 | }
213 | .hero img {
214 | display: block;
215 | }
216 | }
217 | .hero-title h1 {
218 | color: var(--black-design);
219 | margin: 0;
220 | letter-spacing: 2px;
221 | }
222 | .hero-title p {
223 | margin: 2rem 0;
224 | color: var(--grey-900);
225 | font-size: 1.25rem;
226 | }
227 | .hero-title span {
228 | letter-spacing: 5px;
229 | border-bottom: 2px solid var(--primary-design);
230 | margin: 0 0.5rem;
231 | text-align: center;
232 | display: inline-block;
233 | text-align: center;
234 | line-height: 1.25;
235 | font-style: italic;
236 | font-weight: 600;
237 | }
238 | .hero-btn {
239 | display: inline-block;
240 | background: var(--primary-design);
241 | color: var(--black-design);
242 | font-weight: 400;
243 | text-transform: uppercase;
244 | padding: 0.75rem 1.25rem;
245 |
246 | box-shadow: var(--shadow-1);
247 | animation: bounce 2s infinite;
248 | }
249 | .hero-btn:hover {
250 | background: var(--primary-design);
251 | box-shadow: var(--shadow-2);
252 | }
253 |
254 | /*
255 | ===============
256 | Title
257 | ===============
258 | */
259 | .title {
260 | text-align: center;
261 | margin-bottom: 3rem;
262 | }
263 |
264 | .title-underline {
265 | height: 0.2rem;
266 | width: 7rem;
267 | background: var(--primary-design);
268 | margin: 0 auto;
269 | margin-top: -1rem;
270 | }
271 | /*
272 | ===============
273 | Section
274 | ===============
275 | */
276 | .section {
277 | padding: 5rem 0;
278 | background: var(--grey-50);
279 | }
280 | .section-center {
281 | width: 90vw;
282 | max-width: var(--max-width);
283 | margin: 0 auto 2rem auto;
284 | display: grid;
285 | gap: 3rem 2rem;
286 | grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
287 | }
288 |
289 | @media screen and (min-width: 992px) {
290 | .center {
291 | width: 95vw;
292 | }
293 | }
294 |
295 | /*
296 | ===============
297 | Project
298 | ===============
299 | */
300 | .project {
301 | border-radius: var(--borderRadius);
302 | background: var(--white);
303 | box-shadow: var(--shadow-1);
304 | transition: var(--transition);
305 | }
306 | .project:hover {
307 | transform: scale(1.05);
308 | box-shadow: var(--shadow-2);
309 | }
310 | .project img {
311 | width: 100%;
312 | display: block;
313 | border-top-left-radius: var(--borderRadius);
314 | border-top-right-radius: var(--borderRadius);
315 | height: 15rem;
316 | object-fit: cover;
317 | }
318 |
319 | .project footer {
320 | text-align: center;
321 | padding: 1.5rem 2rem;
322 | }
323 | .project footer h4 {
324 | margin-bottom: 0;
325 | color: var(--grey-900);
326 | }
327 |
328 | /*
329 | ===============
330 | Animation
331 | ===============
332 | */
333 | @keyframes bounce {
334 | 0% {
335 | transform: scale(1);
336 | }
337 | 50% {
338 | transform: scale(1.1);
339 | }
340 | 100% {
341 | transform: scale(1);
342 | }
343 | }
344 |
345 | .hero-img-2 {
346 | width: 350px;
347 | margin-left: 20rem;
348 | }
349 |
--------------------------------------------------------------------------------
/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input {
178 | /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select {
189 | /* 1 */
190 | text-transform: none;
191 | }
192 |
193 | /**
194 | * Correct the inability to style clickable types in iOS and Safari.
195 | */
196 |
197 | button,
198 | [type='button'],
199 | [type='reset'],
200 | [type='submit'] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | /**
205 | * Remove the inner border and padding in Firefox.
206 | */
207 |
208 | button::-moz-focus-inner,
209 | [type='button']::-moz-focus-inner,
210 | [type='reset']::-moz-focus-inner,
211 | [type='submit']::-moz-focus-inner {
212 | border-style: none;
213 | padding: 0;
214 | }
215 |
216 | /**
217 | * Restore the focus styles unset by the previous rule.
218 | */
219 |
220 | button:-moz-focusring,
221 | [type='button']:-moz-focusring,
222 | [type='reset']:-moz-focusring,
223 | [type='submit']:-moz-focusring {
224 | outline: 1px dotted ButtonText;
225 | }
226 |
227 | /**
228 | * Correct the padding in Firefox.
229 | */
230 |
231 | fieldset {
232 | padding: 0.35em 0.75em 0.625em;
233 | }
234 |
235 | /**
236 | * 1. Correct the text wrapping in Edge and IE.
237 | * 2. Correct the color inheritance from `fieldset` elements in IE.
238 | * 3. Remove the padding so developers are not caught out when they zero out
239 | * `fieldset` elements in all browsers.
240 | */
241 |
242 | legend {
243 | box-sizing: border-box; /* 1 */
244 | color: inherit; /* 2 */
245 | display: table; /* 1 */
246 | max-width: 100%; /* 1 */
247 | padding: 0; /* 3 */
248 | white-space: normal; /* 1 */
249 | }
250 |
251 | /**
252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
253 | */
254 |
255 | progress {
256 | vertical-align: baseline;
257 | }
258 |
259 | /**
260 | * Remove the default vertical scrollbar in IE 10+.
261 | */
262 |
263 | textarea {
264 | overflow: auto;
265 | }
266 |
267 | /**
268 | * 1. Add the correct box sizing in IE 10.
269 | * 2. Remove the padding in IE 10.
270 | */
271 |
272 | [type='checkbox'],
273 | [type='radio'] {
274 | box-sizing: border-box; /* 1 */
275 | padding: 0; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the cursor style of increment and decrement buttons in Chrome.
280 | */
281 |
282 | [type='number']::-webkit-inner-spin-button,
283 | [type='number']::-webkit-outer-spin-button {
284 | height: auto;
285 | }
286 |
287 | /**
288 | * 1. Correct the odd appearance in Chrome and Safari.
289 | * 2. Correct the outline style in Safari.
290 | */
291 |
292 | [type='search'] {
293 | -webkit-appearance: textfield; /* 1 */
294 | outline-offset: -2px; /* 2 */
295 | }
296 |
297 | /**
298 | * Remove the inner padding in Chrome and Safari on macOS.
299 | */
300 |
301 | [type='search']::-webkit-search-decoration {
302 | -webkit-appearance: none;
303 | }
304 |
305 | /**
306 | * 1. Correct the inability to style clickable types in iOS and Safari.
307 | * 2. Change font properties to `inherit` in Safari.
308 | */
309 |
310 | ::-webkit-file-upload-button {
311 | -webkit-appearance: button; /* 1 */
312 | font: inherit; /* 2 */
313 | }
314 |
315 | /* Interactive
316 | ========================================================================== */
317 |
318 | /*
319 | * Add the correct display in Edge, IE 10+, and Firefox.
320 | */
321 |
322 | details {
323 | display: block;
324 | }
325 |
326 | /*
327 | * Add the correct display in all browsers.
328 | */
329 |
330 | summary {
331 | display: list-item;
332 | }
333 |
334 | /* Misc
335 | ========================================================================== */
336 |
337 | /**
338 | * Add the correct display in IE 10+.
339 | */
340 |
341 | template {
342 | display: none;
343 | }
344 |
345 | /**
346 | * Add the correct display in IE 10.
347 | */
348 |
349 | [hidden] {
350 | display: none;
351 | }
352 |
--------------------------------------------------------------------------------
/05-navbar/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input {
178 | /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select {
189 | /* 1 */
190 | text-transform: none;
191 | }
192 |
193 | /**
194 | * Correct the inability to style clickable types in iOS and Safari.
195 | */
196 |
197 | button,
198 | [type='button'],
199 | [type='reset'],
200 | [type='submit'] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | /**
205 | * Remove the inner border and padding in Firefox.
206 | */
207 |
208 | button::-moz-focus-inner,
209 | [type='button']::-moz-focus-inner,
210 | [type='reset']::-moz-focus-inner,
211 | [type='submit']::-moz-focus-inner {
212 | border-style: none;
213 | padding: 0;
214 | }
215 |
216 | /**
217 | * Restore the focus styles unset by the previous rule.
218 | */
219 |
220 | button:-moz-focusring,
221 | [type='button']:-moz-focusring,
222 | [type='reset']:-moz-focusring,
223 | [type='submit']:-moz-focusring {
224 | outline: 1px dotted ButtonText;
225 | }
226 |
227 | /**
228 | * Correct the padding in Firefox.
229 | */
230 |
231 | fieldset {
232 | padding: 0.35em 0.75em 0.625em;
233 | }
234 |
235 | /**
236 | * 1. Correct the text wrapping in Edge and IE.
237 | * 2. Correct the color inheritance from `fieldset` elements in IE.
238 | * 3. Remove the padding so developers are not caught out when they zero out
239 | * `fieldset` elements in all browsers.
240 | */
241 |
242 | legend {
243 | box-sizing: border-box; /* 1 */
244 | color: inherit; /* 2 */
245 | display: table; /* 1 */
246 | max-width: 100%; /* 1 */
247 | padding: 0; /* 3 */
248 | white-space: normal; /* 1 */
249 | }
250 |
251 | /**
252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
253 | */
254 |
255 | progress {
256 | vertical-align: baseline;
257 | }
258 |
259 | /**
260 | * Remove the default vertical scrollbar in IE 10+.
261 | */
262 |
263 | textarea {
264 | overflow: auto;
265 | }
266 |
267 | /**
268 | * 1. Add the correct box sizing in IE 10.
269 | * 2. Remove the padding in IE 10.
270 | */
271 |
272 | [type='checkbox'],
273 | [type='radio'] {
274 | box-sizing: border-box; /* 1 */
275 | padding: 0; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the cursor style of increment and decrement buttons in Chrome.
280 | */
281 |
282 | [type='number']::-webkit-inner-spin-button,
283 | [type='number']::-webkit-outer-spin-button {
284 | height: auto;
285 | }
286 |
287 | /**
288 | * 1. Correct the odd appearance in Chrome and Safari.
289 | * 2. Correct the outline style in Safari.
290 | */
291 |
292 | [type='search'] {
293 | -webkit-appearance: textfield; /* 1 */
294 | outline-offset: -2px; /* 2 */
295 | }
296 |
297 | /**
298 | * Remove the inner padding in Chrome and Safari on macOS.
299 | */
300 |
301 | [type='search']::-webkit-search-decoration {
302 | -webkit-appearance: none;
303 | }
304 |
305 | /**
306 | * 1. Correct the inability to style clickable types in iOS and Safari.
307 | * 2. Change font properties to `inherit` in Safari.
308 | */
309 |
310 | ::-webkit-file-upload-button {
311 | -webkit-appearance: button; /* 1 */
312 | font: inherit; /* 2 */
313 | }
314 |
315 | /* Interactive
316 | ========================================================================== */
317 |
318 | /*
319 | * Add the correct display in Edge, IE 10+, and Firefox.
320 | */
321 |
322 | details {
323 | display: block;
324 | }
325 |
326 | /*
327 | * Add the correct display in all browsers.
328 | */
329 |
330 | summary {
331 | display: list-item;
332 | }
333 |
334 | /* Misc
335 | ========================================================================== */
336 |
337 | /**
338 | * Add the correct display in IE 10+.
339 | */
340 |
341 | template {
342 | display: none;
343 | }
344 |
345 | /**
346 | * Add the correct display in IE 10.
347 | */
348 |
349 | [hidden] {
350 | display: none;
351 | }
352 |
--------------------------------------------------------------------------------
/07-modal/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input {
178 | /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select {
189 | /* 1 */
190 | text-transform: none;
191 | }
192 |
193 | /**
194 | * Correct the inability to style clickable types in iOS and Safari.
195 | */
196 |
197 | button,
198 | [type='button'],
199 | [type='reset'],
200 | [type='submit'] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | /**
205 | * Remove the inner border and padding in Firefox.
206 | */
207 |
208 | button::-moz-focus-inner,
209 | [type='button']::-moz-focus-inner,
210 | [type='reset']::-moz-focus-inner,
211 | [type='submit']::-moz-focus-inner {
212 | border-style: none;
213 | padding: 0;
214 | }
215 |
216 | /**
217 | * Restore the focus styles unset by the previous rule.
218 | */
219 |
220 | button:-moz-focusring,
221 | [type='button']:-moz-focusring,
222 | [type='reset']:-moz-focusring,
223 | [type='submit']:-moz-focusring {
224 | outline: 1px dotted ButtonText;
225 | }
226 |
227 | /**
228 | * Correct the padding in Firefox.
229 | */
230 |
231 | fieldset {
232 | padding: 0.35em 0.75em 0.625em;
233 | }
234 |
235 | /**
236 | * 1. Correct the text wrapping in Edge and IE.
237 | * 2. Correct the color inheritance from `fieldset` elements in IE.
238 | * 3. Remove the padding so developers are not caught out when they zero out
239 | * `fieldset` elements in all browsers.
240 | */
241 |
242 | legend {
243 | box-sizing: border-box; /* 1 */
244 | color: inherit; /* 2 */
245 | display: table; /* 1 */
246 | max-width: 100%; /* 1 */
247 | padding: 0; /* 3 */
248 | white-space: normal; /* 1 */
249 | }
250 |
251 | /**
252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
253 | */
254 |
255 | progress {
256 | vertical-align: baseline;
257 | }
258 |
259 | /**
260 | * Remove the default vertical scrollbar in IE 10+.
261 | */
262 |
263 | textarea {
264 | overflow: auto;
265 | }
266 |
267 | /**
268 | * 1. Add the correct box sizing in IE 10.
269 | * 2. Remove the padding in IE 10.
270 | */
271 |
272 | [type='checkbox'],
273 | [type='radio'] {
274 | box-sizing: border-box; /* 1 */
275 | padding: 0; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the cursor style of increment and decrement buttons in Chrome.
280 | */
281 |
282 | [type='number']::-webkit-inner-spin-button,
283 | [type='number']::-webkit-outer-spin-button {
284 | height: auto;
285 | }
286 |
287 | /**
288 | * 1. Correct the odd appearance in Chrome and Safari.
289 | * 2. Correct the outline style in Safari.
290 | */
291 |
292 | [type='search'] {
293 | -webkit-appearance: textfield; /* 1 */
294 | outline-offset: -2px; /* 2 */
295 | }
296 |
297 | /**
298 | * Remove the inner padding in Chrome and Safari on macOS.
299 | */
300 |
301 | [type='search']::-webkit-search-decoration {
302 | -webkit-appearance: none;
303 | }
304 |
305 | /**
306 | * 1. Correct the inability to style clickable types in iOS and Safari.
307 | * 2. Change font properties to `inherit` in Safari.
308 | */
309 |
310 | ::-webkit-file-upload-button {
311 | -webkit-appearance: button; /* 1 */
312 | font: inherit; /* 2 */
313 | }
314 |
315 | /* Interactive
316 | ========================================================================== */
317 |
318 | /*
319 | * Add the correct display in Edge, IE 10+, and Firefox.
320 | */
321 |
322 | details {
323 | display: block;
324 | }
325 |
326 | /*
327 | * Add the correct display in all browsers.
328 | */
329 |
330 | summary {
331 | display: list-item;
332 | }
333 |
334 | /* Misc
335 | ========================================================================== */
336 |
337 | /**
338 | * Add the correct display in IE 10+.
339 | */
340 |
341 | template {
342 | display: none;
343 | }
344 |
345 | /**
346 | * Add the correct display in IE 10.
347 | */
348 |
349 | [hidden] {
350 | display: none;
351 | }
352 |
--------------------------------------------------------------------------------
/09-menu/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input {
178 | /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select {
189 | /* 1 */
190 | text-transform: none;
191 | }
192 |
193 | /**
194 | * Correct the inability to style clickable types in iOS and Safari.
195 | */
196 |
197 | button,
198 | [type='button'],
199 | [type='reset'],
200 | [type='submit'] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | /**
205 | * Remove the inner border and padding in Firefox.
206 | */
207 |
208 | button::-moz-focus-inner,
209 | [type='button']::-moz-focus-inner,
210 | [type='reset']::-moz-focus-inner,
211 | [type='submit']::-moz-focus-inner {
212 | border-style: none;
213 | padding: 0;
214 | }
215 |
216 | /**
217 | * Restore the focus styles unset by the previous rule.
218 | */
219 |
220 | button:-moz-focusring,
221 | [type='button']:-moz-focusring,
222 | [type='reset']:-moz-focusring,
223 | [type='submit']:-moz-focusring {
224 | outline: 1px dotted ButtonText;
225 | }
226 |
227 | /**
228 | * Correct the padding in Firefox.
229 | */
230 |
231 | fieldset {
232 | padding: 0.35em 0.75em 0.625em;
233 | }
234 |
235 | /**
236 | * 1. Correct the text wrapping in Edge and IE.
237 | * 2. Correct the color inheritance from `fieldset` elements in IE.
238 | * 3. Remove the padding so developers are not caught out when they zero out
239 | * `fieldset` elements in all browsers.
240 | */
241 |
242 | legend {
243 | box-sizing: border-box; /* 1 */
244 | color: inherit; /* 2 */
245 | display: table; /* 1 */
246 | max-width: 100%; /* 1 */
247 | padding: 0; /* 3 */
248 | white-space: normal; /* 1 */
249 | }
250 |
251 | /**
252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
253 | */
254 |
255 | progress {
256 | vertical-align: baseline;
257 | }
258 |
259 | /**
260 | * Remove the default vertical scrollbar in IE 10+.
261 | */
262 |
263 | textarea {
264 | overflow: auto;
265 | }
266 |
267 | /**
268 | * 1. Add the correct box sizing in IE 10.
269 | * 2. Remove the padding in IE 10.
270 | */
271 |
272 | [type='checkbox'],
273 | [type='radio'] {
274 | box-sizing: border-box; /* 1 */
275 | padding: 0; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the cursor style of increment and decrement buttons in Chrome.
280 | */
281 |
282 | [type='number']::-webkit-inner-spin-button,
283 | [type='number']::-webkit-outer-spin-button {
284 | height: auto;
285 | }
286 |
287 | /**
288 | * 1. Correct the odd appearance in Chrome and Safari.
289 | * 2. Correct the outline style in Safari.
290 | */
291 |
292 | [type='search'] {
293 | -webkit-appearance: textfield; /* 1 */
294 | outline-offset: -2px; /* 2 */
295 | }
296 |
297 | /**
298 | * Remove the inner padding in Chrome and Safari on macOS.
299 | */
300 |
301 | [type='search']::-webkit-search-decoration {
302 | -webkit-appearance: none;
303 | }
304 |
305 | /**
306 | * 1. Correct the inability to style clickable types in iOS and Safari.
307 | * 2. Change font properties to `inherit` in Safari.
308 | */
309 |
310 | ::-webkit-file-upload-button {
311 | -webkit-appearance: button; /* 1 */
312 | font: inherit; /* 2 */
313 | }
314 |
315 | /* Interactive
316 | ========================================================================== */
317 |
318 | /*
319 | * Add the correct display in Edge, IE 10+, and Firefox.
320 | */
321 |
322 | details {
323 | display: block;
324 | }
325 |
326 | /*
327 | * Add the correct display in all browsers.
328 | */
329 |
330 | summary {
331 | display: list-item;
332 | }
333 |
334 | /* Misc
335 | ========================================================================== */
336 |
337 | /**
338 | * Add the correct display in IE 10+.
339 | */
340 |
341 | template {
342 | display: none;
343 | }
344 |
345 | /**
346 | * Add the correct display in IE 10.
347 | */
348 |
349 | [hidden] {
350 | display: none;
351 | }
352 |
--------------------------------------------------------------------------------
/02-counter/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input {
178 | /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select {
189 | /* 1 */
190 | text-transform: none;
191 | }
192 |
193 | /**
194 | * Correct the inability to style clickable types in iOS and Safari.
195 | */
196 |
197 | button,
198 | [type='button'],
199 | [type='reset'],
200 | [type='submit'] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | /**
205 | * Remove the inner border and padding in Firefox.
206 | */
207 |
208 | button::-moz-focus-inner,
209 | [type='button']::-moz-focus-inner,
210 | [type='reset']::-moz-focus-inner,
211 | [type='submit']::-moz-focus-inner {
212 | border-style: none;
213 | padding: 0;
214 | }
215 |
216 | /**
217 | * Restore the focus styles unset by the previous rule.
218 | */
219 |
220 | button:-moz-focusring,
221 | [type='button']:-moz-focusring,
222 | [type='reset']:-moz-focusring,
223 | [type='submit']:-moz-focusring {
224 | outline: 1px dotted ButtonText;
225 | }
226 |
227 | /**
228 | * Correct the padding in Firefox.
229 | */
230 |
231 | fieldset {
232 | padding: 0.35em 0.75em 0.625em;
233 | }
234 |
235 | /**
236 | * 1. Correct the text wrapping in Edge and IE.
237 | * 2. Correct the color inheritance from `fieldset` elements in IE.
238 | * 3. Remove the padding so developers are not caught out when they zero out
239 | * `fieldset` elements in all browsers.
240 | */
241 |
242 | legend {
243 | box-sizing: border-box; /* 1 */
244 | color: inherit; /* 2 */
245 | display: table; /* 1 */
246 | max-width: 100%; /* 1 */
247 | padding: 0; /* 3 */
248 | white-space: normal; /* 1 */
249 | }
250 |
251 | /**
252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
253 | */
254 |
255 | progress {
256 | vertical-align: baseline;
257 | }
258 |
259 | /**
260 | * Remove the default vertical scrollbar in IE 10+.
261 | */
262 |
263 | textarea {
264 | overflow: auto;
265 | }
266 |
267 | /**
268 | * 1. Add the correct box sizing in IE 10.
269 | * 2. Remove the padding in IE 10.
270 | */
271 |
272 | [type='checkbox'],
273 | [type='radio'] {
274 | box-sizing: border-box; /* 1 */
275 | padding: 0; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the cursor style of increment and decrement buttons in Chrome.
280 | */
281 |
282 | [type='number']::-webkit-inner-spin-button,
283 | [type='number']::-webkit-outer-spin-button {
284 | height: auto;
285 | }
286 |
287 | /**
288 | * 1. Correct the odd appearance in Chrome and Safari.
289 | * 2. Correct the outline style in Safari.
290 | */
291 |
292 | [type='search'] {
293 | -webkit-appearance: textfield; /* 1 */
294 | outline-offset: -2px; /* 2 */
295 | }
296 |
297 | /**
298 | * Remove the inner padding in Chrome and Safari on macOS.
299 | */
300 |
301 | [type='search']::-webkit-search-decoration {
302 | -webkit-appearance: none;
303 | }
304 |
305 | /**
306 | * 1. Correct the inability to style clickable types in iOS and Safari.
307 | * 2. Change font properties to `inherit` in Safari.
308 | */
309 |
310 | ::-webkit-file-upload-button {
311 | -webkit-appearance: button; /* 1 */
312 | font: inherit; /* 2 */
313 | }
314 |
315 | /* Interactive
316 | ========================================================================== */
317 |
318 | /*
319 | * Add the correct display in Edge, IE 10+, and Firefox.
320 | */
321 |
322 | details {
323 | display: block;
324 | }
325 |
326 | /*
327 | * Add the correct display in all browsers.
328 | */
329 |
330 | summary {
331 | display: list-item;
332 | }
333 |
334 | /* Misc
335 | ========================================================================== */
336 |
337 | /**
338 | * Add the correct display in IE 10+.
339 | */
340 |
341 | template {
342 | display: none;
343 | }
344 |
345 | /**
346 | * Add the correct display in IE 10.
347 | */
348 |
349 | [hidden] {
350 | display: none;
351 | }
352 |
--------------------------------------------------------------------------------
/04-reviews/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input {
178 | /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select {
189 | /* 1 */
190 | text-transform: none;
191 | }
192 |
193 | /**
194 | * Correct the inability to style clickable types in iOS and Safari.
195 | */
196 |
197 | button,
198 | [type='button'],
199 | [type='reset'],
200 | [type='submit'] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | /**
205 | * Remove the inner border and padding in Firefox.
206 | */
207 |
208 | button::-moz-focus-inner,
209 | [type='button']::-moz-focus-inner,
210 | [type='reset']::-moz-focus-inner,
211 | [type='submit']::-moz-focus-inner {
212 | border-style: none;
213 | padding: 0;
214 | }
215 |
216 | /**
217 | * Restore the focus styles unset by the previous rule.
218 | */
219 |
220 | button:-moz-focusring,
221 | [type='button']:-moz-focusring,
222 | [type='reset']:-moz-focusring,
223 | [type='submit']:-moz-focusring {
224 | outline: 1px dotted ButtonText;
225 | }
226 |
227 | /**
228 | * Correct the padding in Firefox.
229 | */
230 |
231 | fieldset {
232 | padding: 0.35em 0.75em 0.625em;
233 | }
234 |
235 | /**
236 | * 1. Correct the text wrapping in Edge and IE.
237 | * 2. Correct the color inheritance from `fieldset` elements in IE.
238 | * 3. Remove the padding so developers are not caught out when they zero out
239 | * `fieldset` elements in all browsers.
240 | */
241 |
242 | legend {
243 | box-sizing: border-box; /* 1 */
244 | color: inherit; /* 2 */
245 | display: table; /* 1 */
246 | max-width: 100%; /* 1 */
247 | padding: 0; /* 3 */
248 | white-space: normal; /* 1 */
249 | }
250 |
251 | /**
252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
253 | */
254 |
255 | progress {
256 | vertical-align: baseline;
257 | }
258 |
259 | /**
260 | * Remove the default vertical scrollbar in IE 10+.
261 | */
262 |
263 | textarea {
264 | overflow: auto;
265 | }
266 |
267 | /**
268 | * 1. Add the correct box sizing in IE 10.
269 | * 2. Remove the padding in IE 10.
270 | */
271 |
272 | [type='checkbox'],
273 | [type='radio'] {
274 | box-sizing: border-box; /* 1 */
275 | padding: 0; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the cursor style of increment and decrement buttons in Chrome.
280 | */
281 |
282 | [type='number']::-webkit-inner-spin-button,
283 | [type='number']::-webkit-outer-spin-button {
284 | height: auto;
285 | }
286 |
287 | /**
288 | * 1. Correct the odd appearance in Chrome and Safari.
289 | * 2. Correct the outline style in Safari.
290 | */
291 |
292 | [type='search'] {
293 | -webkit-appearance: textfield; /* 1 */
294 | outline-offset: -2px; /* 2 */
295 | }
296 |
297 | /**
298 | * Remove the inner padding in Chrome and Safari on macOS.
299 | */
300 |
301 | [type='search']::-webkit-search-decoration {
302 | -webkit-appearance: none;
303 | }
304 |
305 | /**
306 | * 1. Correct the inability to style clickable types in iOS and Safari.
307 | * 2. Change font properties to `inherit` in Safari.
308 | */
309 |
310 | ::-webkit-file-upload-button {
311 | -webkit-appearance: button; /* 1 */
312 | font: inherit; /* 2 */
313 | }
314 |
315 | /* Interactive
316 | ========================================================================== */
317 |
318 | /*
319 | * Add the correct display in Edge, IE 10+, and Firefox.
320 | */
321 |
322 | details {
323 | display: block;
324 | }
325 |
326 | /*
327 | * Add the correct display in all browsers.
328 | */
329 |
330 | summary {
331 | display: list-item;
332 | }
333 |
334 | /* Misc
335 | ========================================================================== */
336 |
337 | /**
338 | * Add the correct display in IE 10+.
339 | */
340 |
341 | template {
342 | display: none;
343 | }
344 |
345 | /**
346 | * Add the correct display in IE 10.
347 | */
348 |
349 | [hidden] {
350 | display: none;
351 | }
352 |
--------------------------------------------------------------------------------
/06-sidebar/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input {
178 | /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select {
189 | /* 1 */
190 | text-transform: none;
191 | }
192 |
193 | /**
194 | * Correct the inability to style clickable types in iOS and Safari.
195 | */
196 |
197 | button,
198 | [type='button'],
199 | [type='reset'],
200 | [type='submit'] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | /**
205 | * Remove the inner border and padding in Firefox.
206 | */
207 |
208 | button::-moz-focus-inner,
209 | [type='button']::-moz-focus-inner,
210 | [type='reset']::-moz-focus-inner,
211 | [type='submit']::-moz-focus-inner {
212 | border-style: none;
213 | padding: 0;
214 | }
215 |
216 | /**
217 | * Restore the focus styles unset by the previous rule.
218 | */
219 |
220 | button:-moz-focusring,
221 | [type='button']:-moz-focusring,
222 | [type='reset']:-moz-focusring,
223 | [type='submit']:-moz-focusring {
224 | outline: 1px dotted ButtonText;
225 | }
226 |
227 | /**
228 | * Correct the padding in Firefox.
229 | */
230 |
231 | fieldset {
232 | padding: 0.35em 0.75em 0.625em;
233 | }
234 |
235 | /**
236 | * 1. Correct the text wrapping in Edge and IE.
237 | * 2. Correct the color inheritance from `fieldset` elements in IE.
238 | * 3. Remove the padding so developers are not caught out when they zero out
239 | * `fieldset` elements in all browsers.
240 | */
241 |
242 | legend {
243 | box-sizing: border-box; /* 1 */
244 | color: inherit; /* 2 */
245 | display: table; /* 1 */
246 | max-width: 100%; /* 1 */
247 | padding: 0; /* 3 */
248 | white-space: normal; /* 1 */
249 | }
250 |
251 | /**
252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
253 | */
254 |
255 | progress {
256 | vertical-align: baseline;
257 | }
258 |
259 | /**
260 | * Remove the default vertical scrollbar in IE 10+.
261 | */
262 |
263 | textarea {
264 | overflow: auto;
265 | }
266 |
267 | /**
268 | * 1. Add the correct box sizing in IE 10.
269 | * 2. Remove the padding in IE 10.
270 | */
271 |
272 | [type='checkbox'],
273 | [type='radio'] {
274 | box-sizing: border-box; /* 1 */
275 | padding: 0; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the cursor style of increment and decrement buttons in Chrome.
280 | */
281 |
282 | [type='number']::-webkit-inner-spin-button,
283 | [type='number']::-webkit-outer-spin-button {
284 | height: auto;
285 | }
286 |
287 | /**
288 | * 1. Correct the odd appearance in Chrome and Safari.
289 | * 2. Correct the outline style in Safari.
290 | */
291 |
292 | [type='search'] {
293 | -webkit-appearance: textfield; /* 1 */
294 | outline-offset: -2px; /* 2 */
295 | }
296 |
297 | /**
298 | * Remove the inner padding in Chrome and Safari on macOS.
299 | */
300 |
301 | [type='search']::-webkit-search-decoration {
302 | -webkit-appearance: none;
303 | }
304 |
305 | /**
306 | * 1. Correct the inability to style clickable types in iOS and Safari.
307 | * 2. Change font properties to `inherit` in Safari.
308 | */
309 |
310 | ::-webkit-file-upload-button {
311 | -webkit-appearance: button; /* 1 */
312 | font: inherit; /* 2 */
313 | }
314 |
315 | /* Interactive
316 | ========================================================================== */
317 |
318 | /*
319 | * Add the correct display in Edge, IE 10+, and Firefox.
320 | */
321 |
322 | details {
323 | display: block;
324 | }
325 |
326 | /*
327 | * Add the correct display in all browsers.
328 | */
329 |
330 | summary {
331 | display: list-item;
332 | }
333 |
334 | /* Misc
335 | ========================================================================== */
336 |
337 | /**
338 | * Add the correct display in IE 10+.
339 | */
340 |
341 | template {
342 | display: none;
343 | }
344 |
345 | /**
346 | * Add the correct display in IE 10.
347 | */
348 |
349 | [hidden] {
350 | display: none;
351 | }
352 |
--------------------------------------------------------------------------------
/08-questions/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input {
178 | /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select {
189 | /* 1 */
190 | text-transform: none;
191 | }
192 |
193 | /**
194 | * Correct the inability to style clickable types in iOS and Safari.
195 | */
196 |
197 | button,
198 | [type='button'],
199 | [type='reset'],
200 | [type='submit'] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | /**
205 | * Remove the inner border and padding in Firefox.
206 | */
207 |
208 | button::-moz-focus-inner,
209 | [type='button']::-moz-focus-inner,
210 | [type='reset']::-moz-focus-inner,
211 | [type='submit']::-moz-focus-inner {
212 | border-style: none;
213 | padding: 0;
214 | }
215 |
216 | /**
217 | * Restore the focus styles unset by the previous rule.
218 | */
219 |
220 | button:-moz-focusring,
221 | [type='button']:-moz-focusring,
222 | [type='reset']:-moz-focusring,
223 | [type='submit']:-moz-focusring {
224 | outline: 1px dotted ButtonText;
225 | }
226 |
227 | /**
228 | * Correct the padding in Firefox.
229 | */
230 |
231 | fieldset {
232 | padding: 0.35em 0.75em 0.625em;
233 | }
234 |
235 | /**
236 | * 1. Correct the text wrapping in Edge and IE.
237 | * 2. Correct the color inheritance from `fieldset` elements in IE.
238 | * 3. Remove the padding so developers are not caught out when they zero out
239 | * `fieldset` elements in all browsers.
240 | */
241 |
242 | legend {
243 | box-sizing: border-box; /* 1 */
244 | color: inherit; /* 2 */
245 | display: table; /* 1 */
246 | max-width: 100%; /* 1 */
247 | padding: 0; /* 3 */
248 | white-space: normal; /* 1 */
249 | }
250 |
251 | /**
252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
253 | */
254 |
255 | progress {
256 | vertical-align: baseline;
257 | }
258 |
259 | /**
260 | * Remove the default vertical scrollbar in IE 10+.
261 | */
262 |
263 | textarea {
264 | overflow: auto;
265 | }
266 |
267 | /**
268 | * 1. Add the correct box sizing in IE 10.
269 | * 2. Remove the padding in IE 10.
270 | */
271 |
272 | [type='checkbox'],
273 | [type='radio'] {
274 | box-sizing: border-box; /* 1 */
275 | padding: 0; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the cursor style of increment and decrement buttons in Chrome.
280 | */
281 |
282 | [type='number']::-webkit-inner-spin-button,
283 | [type='number']::-webkit-outer-spin-button {
284 | height: auto;
285 | }
286 |
287 | /**
288 | * 1. Correct the odd appearance in Chrome and Safari.
289 | * 2. Correct the outline style in Safari.
290 | */
291 |
292 | [type='search'] {
293 | -webkit-appearance: textfield; /* 1 */
294 | outline-offset: -2px; /* 2 */
295 | }
296 |
297 | /**
298 | * Remove the inner padding in Chrome and Safari on macOS.
299 | */
300 |
301 | [type='search']::-webkit-search-decoration {
302 | -webkit-appearance: none;
303 | }
304 |
305 | /**
306 | * 1. Correct the inability to style clickable types in iOS and Safari.
307 | * 2. Change font properties to `inherit` in Safari.
308 | */
309 |
310 | ::-webkit-file-upload-button {
311 | -webkit-appearance: button; /* 1 */
312 | font: inherit; /* 2 */
313 | }
314 |
315 | /* Interactive
316 | ========================================================================== */
317 |
318 | /*
319 | * Add the correct display in Edge, IE 10+, and Firefox.
320 | */
321 |
322 | details {
323 | display: block;
324 | }
325 |
326 | /*
327 | * Add the correct display in all browsers.
328 | */
329 |
330 | summary {
331 | display: list-item;
332 | }
333 |
334 | /* Misc
335 | ========================================================================== */
336 |
337 | /**
338 | * Add the correct display in IE 10+.
339 | */
340 |
341 | template {
342 | display: none;
343 | }
344 |
345 | /**
346 | * Add the correct display in IE 10.
347 | */
348 |
349 | [hidden] {
350 | display: none;
351 | }
352 |
--------------------------------------------------------------------------------
/10-grocery-bud/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input {
178 | /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select {
189 | /* 1 */
190 | text-transform: none;
191 | }
192 |
193 | /**
194 | * Correct the inability to style clickable types in iOS and Safari.
195 | */
196 |
197 | button,
198 | [type='button'],
199 | [type='reset'],
200 | [type='submit'] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | /**
205 | * Remove the inner border and padding in Firefox.
206 | */
207 |
208 | button::-moz-focus-inner,
209 | [type='button']::-moz-focus-inner,
210 | [type='reset']::-moz-focus-inner,
211 | [type='submit']::-moz-focus-inner {
212 | border-style: none;
213 | padding: 0;
214 | }
215 |
216 | /**
217 | * Restore the focus styles unset by the previous rule.
218 | */
219 |
220 | button:-moz-focusring,
221 | [type='button']:-moz-focusring,
222 | [type='reset']:-moz-focusring,
223 | [type='submit']:-moz-focusring {
224 | outline: 1px dotted ButtonText;
225 | }
226 |
227 | /**
228 | * Correct the padding in Firefox.
229 | */
230 |
231 | fieldset {
232 | padding: 0.35em 0.75em 0.625em;
233 | }
234 |
235 | /**
236 | * 1. Correct the text wrapping in Edge and IE.
237 | * 2. Correct the color inheritance from `fieldset` elements in IE.
238 | * 3. Remove the padding so developers are not caught out when they zero out
239 | * `fieldset` elements in all browsers.
240 | */
241 |
242 | legend {
243 | box-sizing: border-box; /* 1 */
244 | color: inherit; /* 2 */
245 | display: table; /* 1 */
246 | max-width: 100%; /* 1 */
247 | padding: 0; /* 3 */
248 | white-space: normal; /* 1 */
249 | }
250 |
251 | /**
252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
253 | */
254 |
255 | progress {
256 | vertical-align: baseline;
257 | }
258 |
259 | /**
260 | * Remove the default vertical scrollbar in IE 10+.
261 | */
262 |
263 | textarea {
264 | overflow: auto;
265 | }
266 |
267 | /**
268 | * 1. Add the correct box sizing in IE 10.
269 | * 2. Remove the padding in IE 10.
270 | */
271 |
272 | [type='checkbox'],
273 | [type='radio'] {
274 | box-sizing: border-box; /* 1 */
275 | padding: 0; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the cursor style of increment and decrement buttons in Chrome.
280 | */
281 |
282 | [type='number']::-webkit-inner-spin-button,
283 | [type='number']::-webkit-outer-spin-button {
284 | height: auto;
285 | }
286 |
287 | /**
288 | * 1. Correct the odd appearance in Chrome and Safari.
289 | * 2. Correct the outline style in Safari.
290 | */
291 |
292 | [type='search'] {
293 | -webkit-appearance: textfield; /* 1 */
294 | outline-offset: -2px; /* 2 */
295 | }
296 |
297 | /**
298 | * Remove the inner padding in Chrome and Safari on macOS.
299 | */
300 |
301 | [type='search']::-webkit-search-decoration {
302 | -webkit-appearance: none;
303 | }
304 |
305 | /**
306 | * 1. Correct the inability to style clickable types in iOS and Safari.
307 | * 2. Change font properties to `inherit` in Safari.
308 | */
309 |
310 | ::-webkit-file-upload-button {
311 | -webkit-appearance: button; /* 1 */
312 | font: inherit; /* 2 */
313 | }
314 |
315 | /* Interactive
316 | ========================================================================== */
317 |
318 | /*
319 | * Add the correct display in Edge, IE 10+, and Firefox.
320 | */
321 |
322 | details {
323 | display: block;
324 | }
325 |
326 | /*
327 | * Add the correct display in all browsers.
328 | */
329 |
330 | summary {
331 | display: list-item;
332 | }
333 |
334 | /* Misc
335 | ========================================================================== */
336 |
337 | /**
338 | * Add the correct display in IE 10+.
339 | */
340 |
341 | template {
342 | display: none;
343 | }
344 |
345 | /**
346 | * Add the correct display in IE 10.
347 | */
348 |
349 | [hidden] {
350 | display: none;
351 | }
352 |
--------------------------------------------------------------------------------
/01-color-flipper/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input {
178 | /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select {
189 | /* 1 */
190 | text-transform: none;
191 | }
192 |
193 | /**
194 | * Correct the inability to style clickable types in iOS and Safari.
195 | */
196 |
197 | button,
198 | [type='button'],
199 | [type='reset'],
200 | [type='submit'] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | /**
205 | * Remove the inner border and padding in Firefox.
206 | */
207 |
208 | button::-moz-focus-inner,
209 | [type='button']::-moz-focus-inner,
210 | [type='reset']::-moz-focus-inner,
211 | [type='submit']::-moz-focus-inner {
212 | border-style: none;
213 | padding: 0;
214 | }
215 |
216 | /**
217 | * Restore the focus styles unset by the previous rule.
218 | */
219 |
220 | button:-moz-focusring,
221 | [type='button']:-moz-focusring,
222 | [type='reset']:-moz-focusring,
223 | [type='submit']:-moz-focusring {
224 | outline: 1px dotted ButtonText;
225 | }
226 |
227 | /**
228 | * Correct the padding in Firefox.
229 | */
230 |
231 | fieldset {
232 | padding: 0.35em 0.75em 0.625em;
233 | }
234 |
235 | /**
236 | * 1. Correct the text wrapping in Edge and IE.
237 | * 2. Correct the color inheritance from `fieldset` elements in IE.
238 | * 3. Remove the padding so developers are not caught out when they zero out
239 | * `fieldset` elements in all browsers.
240 | */
241 |
242 | legend {
243 | box-sizing: border-box; /* 1 */
244 | color: inherit; /* 2 */
245 | display: table; /* 1 */
246 | max-width: 100%; /* 1 */
247 | padding: 0; /* 3 */
248 | white-space: normal; /* 1 */
249 | }
250 |
251 | /**
252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
253 | */
254 |
255 | progress {
256 | vertical-align: baseline;
257 | }
258 |
259 | /**
260 | * Remove the default vertical scrollbar in IE 10+.
261 | */
262 |
263 | textarea {
264 | overflow: auto;
265 | }
266 |
267 | /**
268 | * 1. Add the correct box sizing in IE 10.
269 | * 2. Remove the padding in IE 10.
270 | */
271 |
272 | [type='checkbox'],
273 | [type='radio'] {
274 | box-sizing: border-box; /* 1 */
275 | padding: 0; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the cursor style of increment and decrement buttons in Chrome.
280 | */
281 |
282 | [type='number']::-webkit-inner-spin-button,
283 | [type='number']::-webkit-outer-spin-button {
284 | height: auto;
285 | }
286 |
287 | /**
288 | * 1. Correct the odd appearance in Chrome and Safari.
289 | * 2. Correct the outline style in Safari.
290 | */
291 |
292 | [type='search'] {
293 | -webkit-appearance: textfield; /* 1 */
294 | outline-offset: -2px; /* 2 */
295 | }
296 |
297 | /**
298 | * Remove the inner padding in Chrome and Safari on macOS.
299 | */
300 |
301 | [type='search']::-webkit-search-decoration {
302 | -webkit-appearance: none;
303 | }
304 |
305 | /**
306 | * 1. Correct the inability to style clickable types in iOS and Safari.
307 | * 2. Change font properties to `inherit` in Safari.
308 | */
309 |
310 | ::-webkit-file-upload-button {
311 | -webkit-appearance: button; /* 1 */
312 | font: inherit; /* 2 */
313 | }
314 |
315 | /* Interactive
316 | ========================================================================== */
317 |
318 | /*
319 | * Add the correct display in Edge, IE 10+, and Firefox.
320 | */
321 |
322 | details {
323 | display: block;
324 | }
325 |
326 | /*
327 | * Add the correct display in all browsers.
328 | */
329 |
330 | summary {
331 | display: list-item;
332 | }
333 |
334 | /* Misc
335 | ========================================================================== */
336 |
337 | /**
338 | * Add the correct display in IE 10+.
339 | */
340 |
341 | template {
342 | display: none;
343 | }
344 |
345 | /**
346 | * Add the correct display in IE 10.
347 | */
348 |
349 | [hidden] {
350 | display: none;
351 | }
352 |
--------------------------------------------------------------------------------
/03-task-manager/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input {
178 | /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select {
189 | /* 1 */
190 | text-transform: none;
191 | }
192 |
193 | /**
194 | * Correct the inability to style clickable types in iOS and Safari.
195 | */
196 |
197 | button,
198 | [type='button'],
199 | [type='reset'],
200 | [type='submit'] {
201 | -webkit-appearance: button;
202 | }
203 |
204 | /**
205 | * Remove the inner border and padding in Firefox.
206 | */
207 |
208 | button::-moz-focus-inner,
209 | [type='button']::-moz-focus-inner,
210 | [type='reset']::-moz-focus-inner,
211 | [type='submit']::-moz-focus-inner {
212 | border-style: none;
213 | padding: 0;
214 | }
215 |
216 | /**
217 | * Restore the focus styles unset by the previous rule.
218 | */
219 |
220 | button:-moz-focusring,
221 | [type='button']:-moz-focusring,
222 | [type='reset']:-moz-focusring,
223 | [type='submit']:-moz-focusring {
224 | outline: 1px dotted ButtonText;
225 | }
226 |
227 | /**
228 | * Correct the padding in Firefox.
229 | */
230 |
231 | fieldset {
232 | padding: 0.35em 0.75em 0.625em;
233 | }
234 |
235 | /**
236 | * 1. Correct the text wrapping in Edge and IE.
237 | * 2. Correct the color inheritance from `fieldset` elements in IE.
238 | * 3. Remove the padding so developers are not caught out when they zero out
239 | * `fieldset` elements in all browsers.
240 | */
241 |
242 | legend {
243 | box-sizing: border-box; /* 1 */
244 | color: inherit; /* 2 */
245 | display: table; /* 1 */
246 | max-width: 100%; /* 1 */
247 | padding: 0; /* 3 */
248 | white-space: normal; /* 1 */
249 | }
250 |
251 | /**
252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
253 | */
254 |
255 | progress {
256 | vertical-align: baseline;
257 | }
258 |
259 | /**
260 | * Remove the default vertical scrollbar in IE 10+.
261 | */
262 |
263 | textarea {
264 | overflow: auto;
265 | }
266 |
267 | /**
268 | * 1. Add the correct box sizing in IE 10.
269 | * 2. Remove the padding in IE 10.
270 | */
271 |
272 | [type='checkbox'],
273 | [type='radio'] {
274 | box-sizing: border-box; /* 1 */
275 | padding: 0; /* 2 */
276 | }
277 |
278 | /**
279 | * Correct the cursor style of increment and decrement buttons in Chrome.
280 | */
281 |
282 | [type='number']::-webkit-inner-spin-button,
283 | [type='number']::-webkit-outer-spin-button {
284 | height: auto;
285 | }
286 |
287 | /**
288 | * 1. Correct the odd appearance in Chrome and Safari.
289 | * 2. Correct the outline style in Safari.
290 | */
291 |
292 | [type='search'] {
293 | -webkit-appearance: textfield; /* 1 */
294 | outline-offset: -2px; /* 2 */
295 | }
296 |
297 | /**
298 | * Remove the inner padding in Chrome and Safari on macOS.
299 | */
300 |
301 | [type='search']::-webkit-search-decoration {
302 | -webkit-appearance: none;
303 | }
304 |
305 | /**
306 | * 1. Correct the inability to style clickable types in iOS and Safari.
307 | * 2. Change font properties to `inherit` in Safari.
308 | */
309 |
310 | ::-webkit-file-upload-button {
311 | -webkit-appearance: button; /* 1 */
312 | font: inherit; /* 2 */
313 | }
314 |
315 | /* Interactive
316 | ========================================================================== */
317 |
318 | /*
319 | * Add the correct display in Edge, IE 10+, and Firefox.
320 | */
321 |
322 | details {
323 | display: block;
324 | }
325 |
326 | /*
327 | * Add the correct display in all browsers.
328 | */
329 |
330 | summary {
331 | display: list-item;
332 | }
333 |
334 | /* Misc
335 | ========================================================================== */
336 |
337 | /**
338 | * Add the correct display in IE 10+.
339 | */
340 |
341 | template {
342 | display: none;
343 | }
344 |
345 | /**
346 | * Add the correct display in IE 10.
347 | */
348 |
349 | [hidden] {
350 | display: none;
351 | }
352 |
--------------------------------------------------------------------------------
/05-navbar/main.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::after,
3 | ::before {
4 | box-sizing: border-box;
5 | }
6 | /* fonts */
7 |
8 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
9 | html {
10 | font-size: 100%;
11 | } /*16px*/
12 |
13 | :root {
14 | /* colors */
15 | --primary-100: #e2e0ff;
16 | --primary-200: #c1beff;
17 | --primary-300: #a29dff;
18 | --primary-400: #837dff;
19 | --primary-500: #645cff;
20 | --primary-600: #504acc;
21 | --primary-700: #3c3799;
22 | --primary-800: #282566;
23 | --primary-900: #141233;
24 |
25 | /* grey */
26 | --grey-50: #f8fafc;
27 | --grey-100: #f1f5f9;
28 | --grey-200: #e2e8f0;
29 | --grey-300: #cbd5e1;
30 | --grey-400: #94a3b8;
31 | --grey-500: #64748b;
32 | --grey-600: #475569;
33 | --grey-700: #334155;
34 | --grey-800: #1e293b;
35 | --grey-900: #0f172a;
36 | /* rest of the colors */
37 | --black: #222;
38 | --white: #fff;
39 | --red-light: #f8d7da;
40 | --red-dark: #842029;
41 | --green-light: #d1e7dd;
42 | --green-dark: #0f5132;
43 |
44 | /* fonts */
45 | --headingFont: 'Roboto', sans-serif;
46 | --bodyFont: 'Nunito', sans-serif;
47 | --smallText: 0.7em;
48 | /* rest of the vars */
49 | --backgroundColor: var(--grey-50);
50 | --textColor: var(--grey-900);
51 | --borderRadius: 0.25rem;
52 | --letterSpacing: 1px;
53 | --transition: 0.3s ease-in-out all;
54 | --max-width: 1120px;
55 | --fixed-width: 600px;
56 |
57 | /* box shadow*/
58 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
59 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
60 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
61 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
62 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
63 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
64 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
65 | }
66 |
67 | body {
68 | background: var(--backgroundColor);
69 | font-family: var(--bodyFont);
70 | font-weight: 400;
71 | line-height: 1.75;
72 | color: var(--textColor);
73 | }
74 |
75 | p {
76 | margin-bottom: 1.5rem;
77 | max-width: 40em;
78 | }
79 |
80 | h1,
81 | h2,
82 | h3,
83 | h4,
84 | h5 {
85 | margin: 0;
86 | margin-bottom: 1.38rem;
87 | font-family: var(--headingFont);
88 | font-weight: 400;
89 | line-height: 1.3;
90 | text-transform: capitalize;
91 | letter-spacing: var(--letterSpacing);
92 | }
93 |
94 | h1 {
95 | margin-top: 0;
96 | font-size: 3.052rem;
97 | }
98 |
99 | h2 {
100 | font-size: 2.441rem;
101 | }
102 |
103 | h3 {
104 | font-size: 1.953rem;
105 | }
106 |
107 | h4 {
108 | font-size: 1.563rem;
109 | }
110 |
111 | h5 {
112 | font-size: 1.25rem;
113 | }
114 |
115 | small,
116 | .text-small {
117 | font-size: var(--smallText);
118 | }
119 |
120 | a {
121 | text-decoration: none;
122 | }
123 | ul {
124 | list-style-type: none;
125 | padding: 0;
126 | }
127 |
128 | .img {
129 | width: 100%;
130 | display: block;
131 | object-fit: cover;
132 | }
133 | /* buttons */
134 |
135 | .btn {
136 | cursor: pointer;
137 | color: var(--white);
138 | background: var(--primary-500);
139 | border: transparent;
140 | border-radius: var(--borderRadius);
141 | letter-spacing: var(--letterSpacing);
142 | padding: 0.375rem 0.75rem;
143 | box-shadow: var(--shadow-1);
144 | transition: var(--transition);
145 | text-transform: capitalize;
146 | display: inline-block;
147 | }
148 | .btn:hover {
149 | background: var(--primary-700);
150 | box-shadow: var(--shadow-3);
151 | }
152 | .btn-hipster {
153 | color: var(--primary-500);
154 | background: var(--primary-200);
155 | }
156 | .btn-hipster:hover {
157 | color: var(--primary-200);
158 | background: var(--primary-700);
159 | }
160 | .btn-block {
161 | width: 100%;
162 | }
163 |
164 | /* alerts */
165 | .alert {
166 | padding: 0.375rem 0.75rem;
167 | margin-bottom: 1rem;
168 | border-color: transparent;
169 | border-radius: var(--borderRadius);
170 | }
171 |
172 | .alert-danger {
173 | color: var(--red-dark);
174 | background: var(--red-light);
175 | }
176 | .alert-success {
177 | color: var(--green-dark);
178 | background: var(--green-light);
179 | }
180 | /* form */
181 |
182 | .form {
183 | width: 90vw;
184 | max-width: var(--fixed-width);
185 | background: var(--white);
186 | border-radius: var(--borderRadius);
187 | box-shadow: var(--shadow-2);
188 | padding: 2rem 2.5rem;
189 | margin: 3rem auto;
190 | }
191 | .form-label {
192 | display: block;
193 | font-size: var(--smallText);
194 | margin-bottom: 0.5rem;
195 | text-transform: capitalize;
196 | letter-spacing: var(--letterSpacing);
197 | }
198 | .form-input,
199 | .form-textarea {
200 | width: 100%;
201 | padding: 0.375rem 0.75rem;
202 | border-radius: var(--borderRadius);
203 | background: var(--backgroundColor);
204 | border: 1px solid var(--grey-200);
205 | }
206 |
207 | .form-row {
208 | margin-bottom: 1rem;
209 | }
210 |
211 | .form-textarea {
212 | height: 7rem;
213 | }
214 | ::placeholder {
215 | font-family: inherit;
216 | color: var(--grey-400);
217 | }
218 | .form-alert {
219 | color: var(--red-dark);
220 | letter-spacing: var(--letterSpacing);
221 | text-transform: capitalize;
222 | }
223 | /* alert */
224 |
225 | @keyframes spinner {
226 | to {
227 | transform: rotate(360deg);
228 | }
229 | }
230 |
231 | .loading {
232 | width: 6rem;
233 | height: 6rem;
234 | border: 5px solid var(--grey-400);
235 | border-radius: 50%;
236 | border-top-color: var(--primary-500);
237 | animation: spinner 0.6s linear infinite;
238 | }
239 | .loading {
240 | margin: 0 auto;
241 | }
242 | /* title */
243 |
244 | .title {
245 | text-align: center;
246 | }
247 |
248 | .title-underline {
249 | background: var(--primary-500);
250 | width: 7rem;
251 | height: 0.25rem;
252 | margin: 0 auto;
253 | margin-top: -1rem;
254 | }
255 | /*
256 | ===============
257 | Navbar
258 | ===============
259 | */
260 | nav {
261 | background: var(--white);
262 | box-shadow: var(--shadow-2);
263 | line-height: 1;
264 | }
265 | .nav-header {
266 | display: flex;
267 | align-items: center;
268 | justify-content: space-between;
269 | padding: 1rem;
270 | }
271 | .nav-toggle {
272 | font-size: 1.5rem;
273 | color: var(--primary-500);
274 | background: transparent;
275 | border-color: transparent;
276 | transition: var(--transition);
277 | cursor: pointer;
278 | }
279 | .nav-toggle:hover {
280 | transform: rotate(90deg);
281 | }
282 | .logo {
283 | margin-bottom: 0;
284 | }
285 | .logo span {
286 | color: var(--primary-500);
287 | font-weight: 700;
288 | }
289 | .links a {
290 | color: var(--grey-700);
291 | font-size: 1rem;
292 | text-transform: capitalize;
293 | letter-spacing: var(--letterSpacing);
294 | display: block;
295 | padding: 0.75rem 1rem;
296 | transition: var(--transition);
297 | }
298 | .links a:hover {
299 | background: var(--primary-300);
300 | color: var(--primary-500);
301 | padding-left: 1.5rem;
302 | }
303 | .social-icons {
304 | display: none;
305 | }
306 | .links {
307 | height: 0;
308 | overflow: hidden;
309 | margin: 0;
310 | transition: var(--transition);
311 | }
312 | .show-links {
313 | height: 10rem;
314 | }
315 | @media screen and (min-width: 800px) {
316 | .nav-center {
317 | max-width: var(--max-width);
318 | margin: 0 auto;
319 | display: flex;
320 | align-items: center;
321 | justify-content: space-between;
322 | padding: 1rem;
323 | }
324 | .nav-header {
325 | padding: 0;
326 | }
327 | .nav-toggle {
328 | display: none;
329 | }
330 | .links {
331 | height: auto;
332 | display: flex;
333 | }
334 | .links a {
335 | padding: 0;
336 | margin: 0 0.5rem;
337 | }
338 | .links a:hover {
339 | padding: 0;
340 | background: transparent;
341 | }
342 | .social-icons {
343 | display: flex;
344 | }
345 | .social-icons a {
346 | margin: 0 0.5rem;
347 | color: var(--primary-500);
348 | transition: var(--transition);
349 | }
350 | .social-icons a:hover {
351 | color: var(--primary-300);
352 | }
353 | }
354 |
--------------------------------------------------------------------------------
/10-grocery-bud/main.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::after,
3 | ::before {
4 | box-sizing: border-box;
5 | }
6 | /* fonts */
7 |
8 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
9 | html {
10 | font-size: 100%;
11 | } /*16px*/
12 |
13 | :root {
14 | /* colors */
15 | --primary-100: #e2e0ff;
16 | --primary-200: #c1beff;
17 | --primary-300: #a29dff;
18 | --primary-400: #837dff;
19 | --primary-500: #645cff;
20 | --primary-600: #504acc;
21 | --primary-700: #3c3799;
22 | --primary-800: #282566;
23 | --primary-900: #141233;
24 |
25 | /* grey */
26 | --grey-50: #f8fafc;
27 | --grey-100: #f1f5f9;
28 | --grey-200: #e2e8f0;
29 | --grey-300: #cbd5e1;
30 | --grey-400: #94a3b8;
31 | --grey-500: #64748b;
32 | --grey-600: #475569;
33 | --grey-700: #334155;
34 | --grey-800: #1e293b;
35 | --grey-900: #0f172a;
36 | /* rest of the colors */
37 | --black: #222;
38 | --white: #fff;
39 | --red-light: #f8d7da;
40 | --red-dark: #842029;
41 | --green-light: #d1e7dd;
42 | --green-dark: #0f5132;
43 |
44 | /* fonts */
45 | --headingFont: 'Roboto', sans-serif;
46 | --bodyFont: 'Nunito', sans-serif;
47 | --smallText: 0.7em;
48 | /* rest of the vars */
49 | --backgroundColor: var(--grey-50);
50 | --textColor: var(--grey-900);
51 | --borderRadius: 0.25rem;
52 | --letterSpacing: 1px;
53 | --transition: 0.3s ease-in-out all;
54 | --max-width: 1120px;
55 | --fixed-width: 600px;
56 |
57 | /* box shadow*/
58 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
59 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
60 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
61 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
62 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
63 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
64 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
65 | }
66 |
67 | body {
68 | background: var(--backgroundColor);
69 | font-family: var(--bodyFont);
70 | font-weight: 400;
71 | line-height: 1.75;
72 | color: var(--textColor);
73 | }
74 |
75 | p {
76 | margin-bottom: 1.5rem;
77 | max-width: 40em;
78 | }
79 |
80 | h1,
81 | h2,
82 | h3,
83 | h4,
84 | h5 {
85 | margin: 0;
86 | margin-bottom: 1.38rem;
87 | font-family: var(--headingFont);
88 | font-weight: 400;
89 | line-height: 1.3;
90 | text-transform: capitalize;
91 | letter-spacing: var(--letterSpacing);
92 | }
93 |
94 | h1 {
95 | margin-top: 0;
96 | font-size: 3.052rem;
97 | }
98 |
99 | h2 {
100 | font-size: 2.441rem;
101 | }
102 |
103 | h3 {
104 | font-size: 1.953rem;
105 | }
106 |
107 | h4 {
108 | font-size: 1.563rem;
109 | }
110 |
111 | h5 {
112 | font-size: 1.25rem;
113 | }
114 |
115 | small,
116 | .text-small {
117 | font-size: var(--smallText);
118 | }
119 |
120 | a {
121 | text-decoration: none;
122 | }
123 | ul {
124 | list-style-type: none;
125 | padding: 0;
126 | }
127 |
128 | .img {
129 | width: 100%;
130 | display: block;
131 | object-fit: cover;
132 | }
133 | /* buttons */
134 |
135 | .btn {
136 | cursor: pointer;
137 | color: var(--white);
138 | background: var(--primary-500);
139 | border: transparent;
140 | border-radius: var(--borderRadius);
141 | letter-spacing: var(--letterSpacing);
142 | padding: 0.375rem 0.75rem;
143 | box-shadow: var(--shadow-1);
144 | transition: var(--transition);
145 | text-transform: capitalize;
146 | display: inline-block;
147 | }
148 | .btn:hover {
149 | background: var(--primary-700);
150 | box-shadow: var(--shadow-3);
151 | }
152 | .btn-hipster {
153 | color: var(--primary-500);
154 | background: var(--primary-200);
155 | }
156 | .btn-hipster:hover {
157 | color: var(--primary-200);
158 | background: var(--primary-700);
159 | }
160 | .btn-block {
161 | width: 100%;
162 | }
163 |
164 | /* alerts */
165 | .alert {
166 | padding: 0.375rem 0.75rem;
167 | margin-bottom: 1rem;
168 | border-color: transparent;
169 | border-radius: var(--borderRadius);
170 | }
171 |
172 | .alert-danger {
173 | color: var(--red-dark);
174 | background: var(--red-light);
175 | }
176 | .alert-success {
177 | color: var(--green-dark);
178 | background: var(--green-light);
179 | }
180 | /* form */
181 |
182 | .form {
183 | width: 90vw;
184 | max-width: var(--fixed-width);
185 | background: var(--white);
186 | border-radius: var(--borderRadius);
187 | box-shadow: var(--shadow-2);
188 | padding: 2rem 2.5rem;
189 | margin: 3rem auto;
190 | }
191 | .form-label {
192 | display: block;
193 | font-size: var(--smallText);
194 | margin-bottom: 0.5rem;
195 | text-transform: capitalize;
196 | letter-spacing: var(--letterSpacing);
197 | }
198 | .form-input,
199 | .form-textarea {
200 | width: 100%;
201 | padding: 0.375rem 0.75rem;
202 | border-radius: var(--borderRadius);
203 | background: var(--backgroundColor);
204 | border: 1px solid var(--grey-200);
205 | }
206 |
207 | .form-row {
208 | margin-bottom: 1rem;
209 | }
210 |
211 | .form-textarea {
212 | height: 7rem;
213 | }
214 | ::placeholder {
215 | font-family: inherit;
216 | color: var(--grey-400);
217 | }
218 | .form-alert {
219 | color: var(--red-dark);
220 | letter-spacing: var(--letterSpacing);
221 | text-transform: capitalize;
222 | }
223 | /* alert */
224 |
225 | @keyframes spinner {
226 | to {
227 | transform: rotate(360deg);
228 | }
229 | }
230 |
231 | .loading {
232 | width: 6rem;
233 | height: 6rem;
234 | border: 5px solid var(--grey-400);
235 | border-radius: 50%;
236 | border-top-color: var(--primary-500);
237 | animation: spinner 0.6s linear infinite;
238 | }
239 | .loading {
240 | margin: 0 auto;
241 | }
242 | /* title */
243 |
244 | .title {
245 | text-align: center;
246 | }
247 |
248 | .title-underline {
249 | background: var(--primary-500);
250 | width: 7rem;
251 | height: 0.25rem;
252 | margin: 0 auto;
253 | margin-top: -1rem;
254 | }
255 | /*
256 | ===============
257 | Grocery Bud
258 | ===============
259 | */
260 | .section-center {
261 | background: var(--white);
262 | border-radius: var(--borderRadius);
263 | box-shadow: var(--shadow-2);
264 | transition: var(--transition);
265 | padding: 1rem;
266 | width: 90vw;
267 | margin: 0 auto;
268 | margin-top: 10rem;
269 | max-width: var(--fixed-width);
270 | }
271 | .section-center:hover {
272 | box-shadow: var(--shadow-4);
273 | }
274 | .alert {
275 | font-size: 0.7rem;
276 | text-align: center;
277 | border-radius: var(--borderRadius);
278 | letter-spacing: var(--letterSpacing);
279 | text-transform: capitalize;
280 | }
281 | .alert-danger {
282 | color: #721c24;
283 | background: #f8d7da;
284 | }
285 | .alert-success {
286 | color: #155724;
287 | background: #d4edda;
288 | }
289 | .grocery-form h4 {
290 | margin-bottom: 1.5rem;
291 | text-align: center;
292 | }
293 |
294 | .grocery-form .form-row {
295 | display: flex;
296 | }
297 | .grocery-form .form-input {
298 | border-top-right-radius: 0;
299 | border-bottom-right-radius: 0;
300 | }
301 | .submit-btn {
302 | border-top-left-radius: 0;
303 | border-bottom-left-radius: 0;
304 | width: 100px;
305 | }
306 | .grocery-container {
307 | margin-top: 2rem;
308 | }
309 |
310 | .grocery-item {
311 | display: flex;
312 | align-items: center;
313 | justify-content: space-between;
314 | margin-bottom: 0.5rem;
315 | transition: var(--transition);
316 | padding: 0.25rem 1rem;
317 | border-radius: var(--borderRadius);
318 | text-transform: capitalize;
319 | color: var(--grey-700);
320 | }
321 | .grocery-item:hover {
322 | color: var(--grey-500);
323 | background: var(--grey-100);
324 | }
325 |
326 | .edit-btn,
327 | .delete-btn {
328 | background: transparent;
329 | border-color: transparent;
330 | cursor: pointer;
331 | font-size: 0.7rem;
332 | transition: var(--transition);
333 | }
334 | .edit-btn {
335 | color: var(--green-dark);
336 | }
337 |
338 | .delete-btn {
339 | color: var(--red-dark);
340 | }
341 |
342 | .clear-btn {
343 | color: var(--red-dark);
344 | width: 100%;
345 | margin-top: 1rem;
346 | cursor: pointer;
347 | background: transparent;
348 | border-color: transparent;
349 | text-transform: capitalize;
350 | text-align: center;
351 | letter-spacing: var(--letterSpacing);
352 | }
353 |
--------------------------------------------------------------------------------
/06-sidebar/main.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::after,
3 | ::before {
4 | box-sizing: border-box;
5 | }
6 | /* fonts */
7 |
8 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
9 | html {
10 | font-size: 100%;
11 | } /*16px*/
12 |
13 | :root {
14 | /* colors */
15 | --primary-100: #e2e0ff;
16 | --primary-200: #c1beff;
17 | --primary-300: #a29dff;
18 | --primary-400: #837dff;
19 | --primary-500: #645cff;
20 | --primary-600: #504acc;
21 | --primary-700: #3c3799;
22 | --primary-800: #282566;
23 | --primary-900: #141233;
24 |
25 | /* grey */
26 | --grey-50: #f8fafc;
27 | --grey-100: #f1f5f9;
28 | --grey-200: #e2e8f0;
29 | --grey-300: #cbd5e1;
30 | --grey-400: #94a3b8;
31 | --grey-500: #64748b;
32 | --grey-600: #475569;
33 | --grey-700: #334155;
34 | --grey-800: #1e293b;
35 | --grey-900: #0f172a;
36 | /* rest of the colors */
37 | --black: #222;
38 | --white: #fff;
39 | --red-light: #f8d7da;
40 | --red-dark: #842029;
41 | --green-light: #d1e7dd;
42 | --green-dark: #0f5132;
43 |
44 | /* fonts */
45 | --headingFont: 'Roboto', sans-serif;
46 | --bodyFont: 'Nunito', sans-serif;
47 | --smallText: 0.7em;
48 | /* rest of the vars */
49 | --backgroundColor: var(--grey-50);
50 | --textColor: var(--grey-900);
51 | --borderRadius: 0.25rem;
52 | --letterSpacing: 1px;
53 | --transition: 0.3s ease-in-out all;
54 | --max-width: 1120px;
55 | --fixed-width: 600px;
56 |
57 | /* box shadow*/
58 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
59 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
60 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
61 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
62 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
63 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
64 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
65 | }
66 |
67 | body {
68 | background: var(--backgroundColor);
69 | font-family: var(--bodyFont);
70 | font-weight: 400;
71 | line-height: 1.75;
72 | color: var(--textColor);
73 | }
74 |
75 | p {
76 | margin-bottom: 1.5rem;
77 | max-width: 40em;
78 | }
79 |
80 | h1,
81 | h2,
82 | h3,
83 | h4,
84 | h5 {
85 | margin: 0;
86 | margin-bottom: 1.38rem;
87 | font-family: var(--headingFont);
88 | font-weight: 400;
89 | line-height: 1.3;
90 | text-transform: capitalize;
91 | letter-spacing: var(--letterSpacing);
92 | }
93 |
94 | h1 {
95 | margin-top: 0;
96 | font-size: 3.052rem;
97 | }
98 |
99 | h2 {
100 | font-size: 2.441rem;
101 | }
102 |
103 | h3 {
104 | font-size: 1.953rem;
105 | }
106 |
107 | h4 {
108 | font-size: 1.563rem;
109 | }
110 |
111 | h5 {
112 | font-size: 1.25rem;
113 | }
114 |
115 | small,
116 | .text-small {
117 | font-size: var(--smallText);
118 | }
119 |
120 | a {
121 | text-decoration: none;
122 | }
123 | ul {
124 | list-style-type: none;
125 | padding: 0;
126 | }
127 |
128 | .img {
129 | width: 100%;
130 | display: block;
131 | object-fit: cover;
132 | }
133 | /* buttons */
134 |
135 | .btn {
136 | cursor: pointer;
137 | color: var(--white);
138 | background: var(--primary-500);
139 | border: transparent;
140 | border-radius: var(--borderRadius);
141 | letter-spacing: var(--letterSpacing);
142 | padding: 0.375rem 0.75rem;
143 | box-shadow: var(--shadow-1);
144 | transition: var(--transition);
145 | text-transform: capitalize;
146 | display: inline-block;
147 | }
148 | .btn:hover {
149 | background: var(--primary-700);
150 | box-shadow: var(--shadow-3);
151 | }
152 | .btn-hipster {
153 | color: var(--primary-500);
154 | background: var(--primary-200);
155 | }
156 | .btn-hipster:hover {
157 | color: var(--primary-200);
158 | background: var(--primary-700);
159 | }
160 | .btn-block {
161 | width: 100%;
162 | }
163 |
164 | /* alerts */
165 | .alert {
166 | padding: 0.375rem 0.75rem;
167 | margin-bottom: 1rem;
168 | border-color: transparent;
169 | border-radius: var(--borderRadius);
170 | }
171 |
172 | .alert-danger {
173 | color: var(--red-dark);
174 | background: var(--red-light);
175 | }
176 | .alert-success {
177 | color: var(--green-dark);
178 | background: var(--green-light);
179 | }
180 | /* form */
181 |
182 | .form {
183 | width: 90vw;
184 | max-width: var(--fixed-width);
185 | background: var(--white);
186 | border-radius: var(--borderRadius);
187 | box-shadow: var(--shadow-2);
188 | padding: 2rem 2.5rem;
189 | margin: 3rem auto;
190 | }
191 | .form-label {
192 | display: block;
193 | font-size: var(--smallText);
194 | margin-bottom: 0.5rem;
195 | text-transform: capitalize;
196 | letter-spacing: var(--letterSpacing);
197 | }
198 | .form-input,
199 | .form-textarea {
200 | width: 100%;
201 | padding: 0.375rem 0.75rem;
202 | border-radius: var(--borderRadius);
203 | background: var(--backgroundColor);
204 | border: 1px solid var(--grey-200);
205 | }
206 |
207 | .form-row {
208 | margin-bottom: 1rem;
209 | }
210 |
211 | .form-textarea {
212 | height: 7rem;
213 | }
214 | ::placeholder {
215 | font-family: inherit;
216 | color: var(--grey-400);
217 | }
218 | .form-alert {
219 | color: var(--red-dark);
220 | letter-spacing: var(--letterSpacing);
221 | text-transform: capitalize;
222 | }
223 | /* alert */
224 |
225 | @keyframes spinner {
226 | to {
227 | transform: rotate(360deg);
228 | }
229 | }
230 |
231 | .loading {
232 | width: 6rem;
233 | height: 6rem;
234 | border: 5px solid var(--grey-400);
235 | border-radius: 50%;
236 | border-top-color: var(--primary-500);
237 | animation: spinner 0.6s linear infinite;
238 | }
239 | .loading {
240 | margin: 0 auto;
241 | }
242 | /* title */
243 |
244 | .title {
245 | text-align: center;
246 | }
247 |
248 | .title-underline {
249 | background: var(--primary-500);
250 | width: 7rem;
251 | height: 0.25rem;
252 | margin: 0 auto;
253 | margin-top: -1rem;
254 | }
255 | /*
256 | ===============
257 | Sidebar
258 | ===============
259 | */
260 | .sidebar-toggle {
261 | position: fixed;
262 | top: 2rem;
263 | right: 3rem;
264 | font-size: 2rem;
265 | background: transparent;
266 | border-color: transparent;
267 | color: var(--primary-500);
268 | transition: var(--transition);
269 | cursor: pointer;
270 | animation: bounce 2s ease-in-out infinite;
271 | }
272 | .sidebar-toggle:hover {
273 | color: var(--primary-700);
274 | }
275 | @keyframes bounce {
276 | 0% {
277 | transform: scale(1);
278 | }
279 | 50% {
280 | transform: scale(1.5);
281 | }
282 | 100% {
283 | transform: scale(1);
284 | }
285 | }
286 |
287 | .sidebar-header {
288 | display: flex;
289 | justify-content: space-between;
290 | align-items: center;
291 | padding: 1rem 1.5rem;
292 | }
293 | .close-btn {
294 | font-size: 1.75rem;
295 | background: transparent;
296 | border-color: transparent;
297 | color: var(--primary-500);
298 | transition: var(--transition);
299 | cursor: pointer;
300 | color: var(--red-dark);
301 | }
302 | .close-btn:hover {
303 |
304 | transform: rotate(360deg);
305 | }
306 | .logo {
307 | justify-self: center;
308 | height: 40px;
309 | }
310 |
311 | .links a {
312 | display: block;
313 | font-size: 1.5rem;
314 | text-transform: capitalize;
315 | padding: 1rem 1.5rem;
316 | color: var(--grey-500);
317 | transition: var(--transition);
318 | }
319 | .links a:hover {
320 | background: var(--primary-300);
321 | color: var(--primary-600);
322 | padding-left: 1.75rem;
323 | }
324 | .social-icons {
325 | justify-self: center;
326 | display: flex;
327 | padding-bottom: 2rem;
328 | }
329 | .social-icons a {
330 | font-size: 1.5rem;
331 | margin: 0 0.5rem;
332 | color: var(--primary-500);
333 | transition: var(--transition);
334 | }
335 | .social-icons a:hover {
336 | color: var(--primary-300);
337 | }
338 |
339 | .sidebar {
340 | position: fixed;
341 | top: 0;
342 | left: 0;
343 | width: 100%;
344 | height: 100%;
345 | background: var(--white);
346 | display: grid;
347 | grid-template-rows: auto 1fr auto;
348 | row-gap: 1rem;
349 | box-shadow: var(--red-dark);
350 | transition: var(--transition);
351 | transform: translate(-100%);
352 | }
353 | .show-sidebar {
354 | transform: translate(0);
355 | }
356 | @media screen and (min-width: 676px) {
357 | .sidebar {
358 | width: 400px;
359 | }
360 | }
--------------------------------------------------------------------------------
/04-reviews/main.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::after,
3 | ::before {
4 | box-sizing: border-box;
5 | }
6 | /* fonts */
7 |
8 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
9 | html {
10 | font-size: 100%;
11 | } /*16px*/
12 |
13 | :root {
14 | /* colors */
15 | --primary-100: #e2e0ff;
16 | --primary-200: #c1beff;
17 | --primary-300: #a29dff;
18 | --primary-400: #837dff;
19 | --primary-500: #645cff;
20 | --primary-600: #504acc;
21 | --primary-700: #3c3799;
22 | --primary-800: #282566;
23 | --primary-900: #141233;
24 |
25 | /* grey */
26 | --grey-50: #f8fafc;
27 | --grey-100: #f1f5f9;
28 | --grey-200: #e2e8f0;
29 | --grey-300: #cbd5e1;
30 | --grey-400: #94a3b8;
31 | --grey-500: #64748b;
32 | --grey-600: #475569;
33 | --grey-700: #334155;
34 | --grey-800: #1e293b;
35 | --grey-900: #0f172a;
36 | /* rest of the colors */
37 | --black: #222;
38 | --white: #fff;
39 | --red-light: #f8d7da;
40 | --red-dark: #842029;
41 | --green-light: #d1e7dd;
42 | --green-dark: #0f5132;
43 |
44 | /* fonts */
45 | --headingFont: 'Roboto', sans-serif;
46 | --bodyFont: 'Nunito', sans-serif;
47 | --smallText: 0.7em;
48 | /* rest of the vars */
49 | --backgroundColor: var(--grey-50);
50 | --textColor: var(--grey-900);
51 | --borderRadius: 0.25rem;
52 | --letterSpacing: 1px;
53 | --transtion: 0.3s ease-in-out all;
54 | --max-width: 1120px;
55 | --fixed-width: 600px;
56 |
57 | /* box shadow*/
58 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
59 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
60 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
61 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
62 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
63 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
64 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
65 | }
66 |
67 | body {
68 | background: var(--backgroundColor);
69 | font-family: var(--bodyFont);
70 | font-weight: 400;
71 | line-height: 1.75;
72 | color: var(--textColor);
73 | }
74 |
75 | p {
76 | margin-bottom: 1.5rem;
77 | max-width: 40em;
78 | }
79 |
80 | h1,
81 | h2,
82 | h3,
83 | h4,
84 | h5 {
85 | margin: 0;
86 | margin-bottom: 1.38rem;
87 | font-family: var(--headingFont);
88 | font-weight: 400;
89 | line-height: 1.3;
90 | text-transform: capitalize;
91 | letter-spacing: var(--letterSpacing);
92 | }
93 |
94 | h1 {
95 | margin-top: 0;
96 | font-size: 3.052rem;
97 | }
98 |
99 | h2 {
100 | font-size: 2.441rem;
101 | }
102 |
103 | h3 {
104 | font-size: 1.953rem;
105 | }
106 |
107 | h4 {
108 | font-size: 1.563rem;
109 | }
110 |
111 | h5 {
112 | font-size: 1.25rem;
113 | }
114 |
115 | small,
116 | .text-small {
117 | font-size: var(--smallText);
118 | }
119 |
120 | a {
121 | text-decoration: none;
122 | }
123 | ul {
124 | list-style-type: none;
125 | padding: 0;
126 | }
127 |
128 | .img {
129 | width: 100%;
130 | display: block;
131 | object-fit: cover;
132 | }
133 | /* buttons */
134 |
135 | .btn {
136 | cursor: pointer;
137 | color: var(--white);
138 | background: var(--primary-500);
139 | border: transparent;
140 | border-radius: var(--borderRadius);
141 | letter-spacing: var(--letterSpacing);
142 | padding: 0.375rem 0.75rem;
143 | box-shadow: var(--shadow-1);
144 | transition: var(--transtion);
145 | text-transform: capitalize;
146 | display: inline-block;
147 | }
148 | .btn:hover {
149 | background: var(--primary-700);
150 | box-shadow: var(--shadow-3);
151 | }
152 | .btn-hipster {
153 | color: var(--primary-500);
154 | background: var(--primary-200);
155 | }
156 | .btn-hipster:hover {
157 | color: var(--primary-200);
158 | background: var(--primary-700);
159 | }
160 | .btn-block {
161 | width: 100%;
162 | }
163 |
164 | /* alerts */
165 | .alert {
166 | padding: 0.375rem 0.75rem;
167 | margin-bottom: 1rem;
168 | border-color: transparent;
169 | border-radius: var(--borderRadius);
170 | }
171 |
172 | .alert-danger {
173 | color: var(--red-dark);
174 | background: var(--red-light);
175 | }
176 | .alert-success {
177 | color: var(--green-dark);
178 | background: var(--green-light);
179 | }
180 | /* form */
181 |
182 | .form {
183 | width: 90vw;
184 | max-width: var(--fixed-width);
185 | background: var(--white);
186 | border-radius: var(--borderRadius);
187 | box-shadow: var(--shadow-2);
188 | padding: 2rem 2.5rem;
189 | margin: 3rem auto;
190 | }
191 | .form-label {
192 | display: block;
193 | font-size: var(--smallText);
194 | margin-bottom: 0.5rem;
195 | text-transform: capitalize;
196 | letter-spacing: var(--letterSpacing);
197 | }
198 | .form-input,
199 | .form-textarea {
200 | width: 100%;
201 | padding: 0.375rem 0.75rem;
202 | border-radius: var(--borderRadius);
203 | background: var(--backgroundColor);
204 | border: 1px solid var(--grey-200);
205 | }
206 |
207 | .form-row {
208 | margin-bottom: 1rem;
209 | }
210 |
211 | .form-textarea {
212 | height: 7rem;
213 | }
214 | ::placeholder {
215 | font-family: inherit;
216 | color: var(--grey-400);
217 | }
218 | .form-alert {
219 | color: var(--red-dark);
220 | letter-spacing: var(--letterSpacing);
221 | text-transform: capitalize;
222 | }
223 | /* alert */
224 |
225 | @keyframes spinner {
226 | to {
227 | transform: rotate(360deg);
228 | }
229 | }
230 |
231 | .loading {
232 | width: 6rem;
233 | height: 6rem;
234 | border: 5px solid var(--grey-400);
235 | border-radius: 50%;
236 | border-top-color: var(--primary-500);
237 | animation: spinner 0.6s linear infinite;
238 | }
239 | .loading {
240 | margin: 0 auto;
241 | }
242 | /* title */
243 |
244 | .title {
245 | text-align: center;
246 | }
247 |
248 | .title-underline {
249 | background: var(--primary-500);
250 | width: 7rem;
251 | height: 0.25rem;
252 | margin: 0 auto;
253 | margin-top: -1rem;
254 | }
255 |
256 | /*
257 | ===============
258 | Reviews
259 | ===============
260 | */
261 | main {
262 | min-height: 100vh;
263 | display: grid;
264 | place-items: center;
265 | }
266 |
267 | .container {
268 | width: 80vw;
269 | max-width: var(--fixed-width);
270 | }
271 | .review {
272 | margin-top: 3rem;
273 | background: var(--white);
274 | padding: 1.5rem 2rem;
275 | border-radius: var(--borderRadius);
276 | box-shadow: var(--shadow-2);
277 | transition: var(--transition);
278 | text-align: center;
279 | }
280 | .review:hover {
281 | box-shadow: var(--shadow-4);
282 | }
283 | .img-container {
284 | position: relative;
285 | width: 150px;
286 | height: 150px;
287 | border-radius: 50%;
288 | margin: 0 auto;
289 | margin-bottom: 1.5rem;
290 | }
291 | #person-img {
292 | width: 100%;
293 | display: block;
294 | height: 100%;
295 | object-fit: cover;
296 | border-radius: 50%;
297 | position: relative;
298 | }
299 | .img-container::before {
300 | content: '';
301 | width: 100%;
302 | height: 100%;
303 | background: var(--primary-500);
304 | position: absolute;
305 | top: -0.25rem;
306 | right: -0.5rem;
307 | border-radius: 50%;
308 | }
309 | .img-container::after {
310 | position: absolute;
311 | top: 0;
312 | left: 0;
313 | width: 2.5rem;
314 | height: 2.5rem;
315 | border-radius: 50%;
316 | transform: translateY(25%);
317 | background: var(--primary-500);
318 | color: var(--white);
319 | font-family: 'Font Awesome 5 Free';
320 | font-weight: 900;
321 | content: '\f10e';
322 | display: grid;
323 | place-items: center;
324 | }
325 | #author {
326 | margin-bottom: 0.25rem;
327 | }
328 | #job {
329 | margin-bottom: 0.5rem;
330 | text-transform: uppercase;
331 | color: var(--primary-500);
332 | font-size: 0.85rem;
333 | }
334 | #info {
335 | margin-bottom: 0.75rem;
336 | }
337 | .prev-btn,
338 | .next-btn {
339 | color: var(--primary-300);
340 | font-size: 1.25rem;
341 | background: transparent;
342 | border-color: transparent;
343 | margin: 0 0.5rem;
344 | transition: var(--transition);
345 | cursor: pointer;
346 | }
347 | .prev-btn:hover,
348 | .next-btn:hover {
349 | color: var(--primary-500);
350 | }
351 | .random-btn {
352 | margin-top: 0.75rem;
353 | background: var(--primary-100);
354 | color: var(--primary-500);
355 | padding: 0.25rem 0.5rem;
356 | border: 2px solid var(--primary-500);
357 | cursor: pointer;
358 | }
359 | .random-btn:hover {
360 | background: var(--primary-500);
361 | color: var(--black);
362 | }
363 |
--------------------------------------------------------------------------------
/03-task-manager/main.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::after,
3 | ::before {
4 | box-sizing: border-box;
5 | }
6 | /* fonts */
7 |
8 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
9 | html {
10 | font-size: 100%;
11 | } /*16px*/
12 |
13 | :root {
14 | /* colors */
15 | --primary-100: #e2e0ff;
16 | --primary-200: #c1beff;
17 | --primary-300: #a29dff;
18 | --primary-400: #837dff;
19 | --primary-500: #645cff;
20 | --primary-600: #504acc;
21 | --primary-700: #3c3799;
22 | --primary-800: #282566;
23 | --primary-900: #141233;
24 |
25 | /* grey */
26 | --grey-50: #f8fafc;
27 | --grey-100: #f1f5f9;
28 | --grey-200: #e2e8f0;
29 | --grey-300: #cbd5e1;
30 | --grey-400: #94a3b8;
31 | --grey-500: #64748b;
32 | --grey-600: #475569;
33 | --grey-700: #334155;
34 | --grey-800: #1e293b;
35 | --grey-900: #0f172a;
36 | /* rest of the colors */
37 | --black: #222;
38 | --white: #fff;
39 | --red-light: #f8d7da;
40 | --red-dark: #842029;
41 | --green-light: #d1e7dd;
42 | --green-dark: #0f5132;
43 |
44 | /* fonts */
45 | --headingFont: 'Roboto', sans-serif;
46 | --bodyFont: 'Nunito', sans-serif;
47 | --smallText: 0.7em;
48 | /* rest of the vars */
49 | --backgroundColor: var(--grey-50);
50 | --textColor: var(--grey-900);
51 | --borderRadius: 0.25rem;
52 | --letterSpacing: 1px;
53 | --transition: 0.3s ease-in-out all;
54 | --max-width: 1120px;
55 | --fixed-width: 600px;
56 |
57 | /* box shadow*/
58 | --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
59 | --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
60 | 0 2px 4px -1px rgba(0, 0, 0, 0.06);
61 | --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
62 | 0 4px 6px -2px rgba(0, 0, 0, 0.05);
63 | --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
64 | 0 10px 10px -5px rgba(0, 0, 0, 0.04);
65 | }
66 |
67 | body {
68 | background: var(--backgroundColor);
69 | font-family: var(--bodyFont);
70 | font-weight: 400;
71 | line-height: 1.75;
72 | color: var(--textColor);
73 | }
74 |
75 | p {
76 | margin-bottom: 1.5rem;
77 | max-width: 40em;
78 | }
79 |
80 | h1,
81 | h2,
82 | h3,
83 | h4,
84 | h5 {
85 | margin: 0;
86 | margin-bottom: 1.38rem;
87 | font-family: var(--headingFont);
88 | font-weight: 400;
89 | line-height: 1.3;
90 | text-transform: capitalize;
91 | letter-spacing: var(--letterSpacing);
92 | }
93 |
94 | h1 {
95 | margin-top: 0;
96 | font-size: 3.052rem;
97 | }
98 |
99 | h2 {
100 | font-size: 2.441rem;
101 | }
102 |
103 | h3 {
104 | font-size: 1.953rem;
105 | }
106 |
107 | h4 {
108 | font-size: 1.563rem;
109 | }
110 |
111 | h5 {
112 | font-size: 1.25rem;
113 | }
114 |
115 | small,
116 | .text-small {
117 | font-size: var(--smallText);
118 | }
119 |
120 | a {
121 | text-decoration: none;
122 | }
123 | ul {
124 | list-style-type: none;
125 | padding: 0;
126 | }
127 |
128 | .img {
129 | width: 100%;
130 | display: block;
131 | object-fit: cover;
132 | }
133 | /* buttons */
134 |
135 | .btn {
136 | cursor: pointer;
137 | color: var(--white);
138 | background: var(--primary-500);
139 | border: transparent;
140 | border-radius: var(--borderRadius);
141 | letter-spacing: var(--letterSpacing);
142 | padding: 0.375rem 0.75rem;
143 | box-shadow: var(--shadow-1);
144 | transition: var(--transtion);
145 | text-transform: capitalize;
146 | display: inline-block;
147 | }
148 | .btn:hover {
149 | background: var(--primary-700);
150 | box-shadow: var(--shadow-3);
151 | }
152 | .btn-hipster {
153 | color: var(--primary-500);
154 | background: var(--primary-200);
155 | }
156 | .btn-hipster:hover {
157 | color: var(--primary-200);
158 | background: var(--primary-700);
159 | }
160 | .btn-block {
161 | width: 100%;
162 | }
163 |
164 | /* alerts */
165 | .alert {
166 | padding: 0.375rem 0.75rem;
167 | margin-bottom: 1rem;
168 | border-color: transparent;
169 | border-radius: var(--borderRadius);
170 | }
171 |
172 | .alert-danger {
173 | color: var(--red-dark);
174 | background: var(--red-light);
175 | }
176 | .alert-success {
177 | color: var(--green-dark);
178 | background: var(--green-light);
179 | }
180 | /* form */
181 |
182 | .form {
183 | width: 90vw;
184 | max-width: var(--fixed-width);
185 | background: var(--white);
186 | border-radius: var(--borderRadius);
187 | box-shadow: var(--shadow-2);
188 | padding: 2rem 2.5rem;
189 | margin: 3rem auto;
190 | }
191 | .form-label {
192 | display: block;
193 | font-size: var(--smallText);
194 | margin-bottom: 0.5rem;
195 | text-transform: capitalize;
196 | letter-spacing: var(--letterSpacing);
197 | }
198 | .form-input,
199 | .form-textarea {
200 | width: 100%;
201 | padding: 0.375rem 0.75rem;
202 | border-radius: var(--borderRadius);
203 | background: var(--backgroundColor);
204 | border: 1px solid var(--grey-200);
205 | }
206 |
207 | .form-row {
208 | margin-bottom: 1rem;
209 | }
210 |
211 | .form-textarea {
212 | height: 7rem;
213 | }
214 | ::placeholder {
215 | font-family: inherit;
216 | color: var(--grey-400);
217 | }
218 | .form-alert {
219 | color: var(--red-dark);
220 | letter-spacing: var(--letterSpacing);
221 | text-transform: capitalize;
222 | }
223 | /* alert */
224 |
225 | @keyframes spinner {
226 | to {
227 | transform: rotate(360deg);
228 | }
229 | }
230 |
231 | .loading {
232 | width: 6rem;
233 | height: 6rem;
234 | border: 5px solid var(--grey-400);
235 | border-radius: 50%;
236 | border-top-color: var(--primary-500);
237 | animation: spinner 0.6s linear infinite;
238 | }
239 | .loading {
240 | margin: 0 auto;
241 | }
242 | /* title */
243 |
244 | .title {
245 | text-align: center;
246 | }
247 |
248 | .title-underline {
249 | background: var(--primary-500);
250 | width: 7rem;
251 | height: 0.25rem;
252 | margin: 0 auto;
253 | margin-top: -1rem;
254 | }
255 |
256 | /*
257 | ===============
258 | Task Manager
259 | ===============
260 | */
261 |
262 | .task-form {
263 | margin-top: 6rem;
264 | }
265 | .task-form h4 {
266 | text-align: center;
267 | }
268 | .submit-btn {
269 | width: 100%;
270 | margin-top: 1rem;
271 | }
272 |
273 | @media screen and (min-width: 576px) {
274 | .form-control {
275 | display: flex;
276 | }
277 | .task-input {
278 | border-radius: 0;
279 | border-top-left-radius: var(--borderRadius);
280 | border-bottom-left-radius: var(--borderRadius);
281 | }
282 | .submit-btn {
283 | margin-top: 0;
284 | width: 175px;
285 | border-radius: 0;
286 | border-top-right-radius: var(--borderRadius);
287 | border-bottom-right-radius: var(--borderRadius);
288 | }
289 | }
290 |
291 | /*************
292 | TASKS
293 | *************/
294 |
295 | .tasks-container {
296 | width: 90vw;
297 | max-width: var(--fixed-width);
298 | margin: 0 auto;
299 | margin-top: 2rem;
300 | padding-bottom: 4rem;
301 | }
302 | .tasks {
303 | display: grid;
304 | gap: 1rem;
305 | }
306 | .single-task {
307 | padding: 1rem 2.5rem;
308 | background: var(--white);
309 | border-radius: var(--borderRadius);
310 | box-shadow: var(--shadow-2);
311 | transition: var(--transition);
312 | display: flex;
313 | justify-content: space-between;
314 | align-items: center;
315 | }
316 | .single-task:hover {
317 | box-shadow: var(--shadow-4);
318 | }
319 | .single-task h5 {
320 | margin-bottom: 0;
321 | }
322 |
323 | .single-task .fa-check-circle {
324 | margin-left: -1.25rem;
325 | margin-right: 1.5rem;
326 | font-size: 1rem;
327 | color: var(--green-dark);
328 | visibility: hidden;
329 | }
330 | .task-completed h5 {
331 | text-decoration: line-through;
332 | }
333 | .task-completed .fa-check-circle {
334 | visibility: visible;
335 | }
336 | /* Task Links */
337 | .task-links {
338 | display: flex;
339 | align-items: center;
340 | gap: 0 0.5rem;
341 | }
342 | .delete-btn,
343 | .edit-link {
344 | background: transparent;
345 | font-size: 0.75rem;
346 | border: transparent;
347 | cursor: pointer;
348 | }
349 | .edit-link {
350 | color: var(--green-dark);
351 | }
352 | .delete-btn {
353 | color: var(--red-dark);
354 | }
355 |
356 | .text-success {
357 | color: var(--green-dark);
358 | }
359 |
360 | /*************
361 | SINGLE TASK PAGE
362 | *************/
363 | .single-task-form {
364 | margin-top: 6rem;
365 | }
366 | .single-task-form h4 {
367 | text-align: center;
368 | }
369 |
370 | .single-task-form p {
371 | margin-bottom: 0;
372 | margin-top: 0;
373 | }
374 | .single-task-form .form-control {
375 | display: grid;
376 | grid-template-columns: 150px 1fr;
377 | align-items: center;
378 | gap: 0 1rem;
379 | margin-bottom: 0.75rem;
380 | }
381 |
382 | .single-task-form label {
383 | margin-bottom: 0;
384 | font-size: 1rem;
385 | }
386 |
387 | .task-edit-completed {
388 | width: auto;
389 | }
390 | .back-link {
391 | display: block;
392 | width: 250px;
393 | margin: 0 auto;
394 | text-align: center;
395 | margin-top: 6rem;
396 | background: var(--black);
397 | }
398 | .back-link:hover {
399 | background: var(--black);
400 | opacity: 0.75;
401 | }
402 |
403 | .single-task-form .form-alert {
404 | text-align: center;
405 | margin-top: 1rem;
406 | }
407 |
--------------------------------------------------------------------------------
/images/hero-img.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------