├── LICENSE
├── README.md
├── assets
├── css
│ ├── components
│ │ ├── btn.css
│ │ ├── card.css
│ │ └── slider.css
│ ├── main.css
│ ├── pages
│ │ ├── contact.css
│ │ ├── portfolio.css
│ │ └── service.css
│ └── require.css
├── images
│ ├── Thumbs.db
│ ├── about-banner.png
│ ├── client-1.svg
│ ├── client-2.svg
│ ├── client-3.svg
│ ├── client-4.svg
│ ├── client-5.svg
│ ├── contact-bg.png
│ ├── hero-banner.png
│ ├── logo.svg
│ ├── portfolio-1.jpg
│ ├── portfolio-2.jpg
│ ├── portfolio-3.jpg
│ ├── portfolio-4.jpg
│ ├── quote-left.svg
│ ├── service-bg.png
│ ├── skill-banner.png
│ ├── testi-1.jpg
│ ├── testi-2.jpg
│ ├── testi-3.jpg
│ └── testi-4.jpg
└── js
│ └── script.js
├── contact.html
├── favicon.svg
├── index.html
├── index.txt
├── portfolio.html
├── readme-images
├── Thumbs.db
└── desktop.png
├── service.html
└── style-guide.md
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Sadee
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | 
4 | 
5 | 
6 | [](https://twitter.com/intent/follow?screen_name=codewithsadee_)
7 | [](https://youtu.be/lD-hxm19ncs)
8 |
9 |
10 |
11 |
12 |
Annie - Personal Portfolio
13 |
14 | Annie is a fully responsive personal portfolio,
Responsive for all devices, build using HTML, CSS, and JavaScript.
15 |
16 |
➥ Live Demo
17 |
18 |
19 |
20 |
21 |
22 | ### Demo Screeshots
23 |
24 | 
25 |
26 | ### Prerequisites
27 |
28 | Before you begin, ensure you have met the following requirements:
29 |
30 | * [Git](https://git-scm.com/downloads "Download Git") must be installed on your operating system.
31 |
32 | ### Run Locally
33 |
34 | To run **Annie** locally, run this command on your git bash:
35 |
36 | Linux and macOS:
37 |
38 | ```bash
39 | sudo git clone https://github.com/codewithsadee/annie.git
40 | ```
41 |
42 | Windows:
43 |
44 | ```bash
45 | git clone https://github.com/codewithsadee/annie.git
46 | ```
47 |
48 | ### Contact
49 |
50 | If you want to contact with me you can reach me at [Twitter](https://www.twitter.com/codewithsadee).
51 |
52 | ### License
53 |
54 | This project is **free to use** and does not contains any license.
55 |
--------------------------------------------------------------------------------
/assets/css/components/btn.css:
--------------------------------------------------------------------------------
1 | /*-----------------------------------*\
2 | #btn.css
3 | \*-----------------------------------*/
4 |
5 | /**
6 | * copyright 2022 codewithsadee
7 | */
8 |
9 |
10 |
11 |
12 |
13 | .btn {
14 | background-color: var(--orange-red);
15 | font-size: var(--fs-14);
16 | font-weight: var(--fw-500);
17 | text-transform: uppercase;
18 | max-width: max-content;
19 | letter-spacing: 2px;
20 | padding: 10px 22px;
21 | box-shadow: 6px 6px 0 -1px var(--shadow-color, var(--jet));
22 | transition: var(--transition-1);
23 | }
24 |
25 | .btn:is(:hover, :focus-visible) {
26 | background-color: var(--hover-bg, var(--jet));
27 | box-shadow: 5px 5px 0 -2px var(--hover-shadow-color, var(--orange-red));
28 | }
29 |
30 | .btn-primary,
31 | .btn-secondary { color: var(--white); }
32 |
33 | .btn-secondary {
34 | background-color: var(--jet);
35 | --shadow-color: var(--orange-red);
36 | --hover-bg: var(--orange-red);
37 | --hover-shadow-color: var(--jet);
38 | }
39 |
40 | .btn-tertiary {
41 | color: var(--jet);
42 | background-color: var(--maximum-yellow-red);
43 | --shadow-color: var(--orange-red);
44 | --hover-bg: var(--orange-red);
45 | --hover-shadow-color: var(--maximum-yellow-red);
46 | }
47 |
48 | .btn-tertiary:is(:hover, :focus-visible) { color: var(--white); }
--------------------------------------------------------------------------------
/assets/css/components/card.css:
--------------------------------------------------------------------------------
1 | /*-----------------------------------*\
2 | #card.css
3 | \*-----------------------------------*/
4 |
5 | /**
6 | * copyright 2022 codewithsadee
7 | */
8 |
9 |
10 |
11 |
12 |
13 | .card {
14 | box-shadow: 0 0 0 var(--jet);
15 | display: flex;
16 | transition: var(--transition-1);
17 | }
18 |
19 | .card-md:is(:hover, :focus-within) { box-shadow: 5px 5px 0 var(--jet); }
20 |
21 | :is(.card-lg, .card-sm):is(:hover, :focus-within) {
22 | box-shadow: 3px 3px 0 var(--jet);
23 | }
24 |
25 | .card,
26 | .card-media { border: 2px solid var(--jet); }
27 |
28 | .card-lg { padding: 25px; }
29 |
30 | .card-md { padding: 30px; }
31 |
32 | .card-sm {
33 | padding: 10px;
34 | align-items: center;
35 | gap: 15px;
36 | }
37 |
38 | .card-lg,
39 | .card-md {
40 | align-items: flex-start;
41 | flex-direction: column;
42 | gap: 20px;
43 | }
44 |
45 | .card-lg .card-media {
46 | width: 100px;
47 | height: 100px;
48 | }
49 |
50 | .card-md .card-media {
51 | width: 70px;
52 | height: 70px;
53 | }
54 |
55 | .card-sm .card-media {
56 | width: 50px;
57 | height: 50px;
58 | }
59 |
60 | .card-media {
61 | background-color: var(--white);
62 | color: var(--jet);
63 | display: grid;
64 | place-items: center;
65 | flex-shrink: 0;
66 | }
67 |
68 |
69 |
70 | /**
71 | * RESPONSIVE CONTAINER QUERY
72 | */
73 |
74 | .card-container { container-type: inline-size; }
75 |
76 | @container (min-width: 500px) {
77 | .card-lg,
78 | .card-md { flex-direction: row; }
79 | }
80 |
81 |
82 |
83 | /**
84 | * RESPONSIVE MEDIA QUERY
85 | */
86 |
87 | @media (min-width: 768px) {
88 |
89 | .card-lg { padding: 35px; }
90 |
91 | .card-md { padding: 40px; }
92 |
93 | .card-sm { padding: 15px; }
94 |
95 | }
--------------------------------------------------------------------------------
/assets/css/components/slider.css:
--------------------------------------------------------------------------------
1 | /*-----------------------------------*\
2 | #slider.css
3 | \*-----------------------------------*/
4 |
5 | /**
6 | * copyright 2022 codewithsadee
7 | */
8 |
9 |
10 |
11 |
12 |
13 | .slider {
14 | display: flex;
15 | align-items: center;
16 | gap: 30px;
17 | overflow-x: auto;
18 | scroll-snap-type: inline mandatory;
19 | }
20 |
21 | .slider-item { scroll-snap-align: start; }
--------------------------------------------------------------------------------
/assets/css/main.css:
--------------------------------------------------------------------------------
1 | /*-----------------------------------*\
2 | #main.css
3 | \*-----------------------------------*/
4 |
5 | /**
6 | * copyright 2022 codewithsadee
7 | */
8 |
9 | /**
10 | * TABLE OF CONTENT
11 | *
12 | * COMPONENTS
13 | * Btn............................Buttons style
14 | * Slider.........................Slider style
15 | * Card...........................Cards style
16 | *
17 | * MAIN CONTENT
18 | * Header.........................Modify header style
19 | * Hero...........................Hero styles
20 | * Client.........................Client style
21 | * About..........................About style
22 | * Skills.........................Skills style
23 | * Cta............................Cta style
24 | * Testimonials...................Testimonials style
25 | * Media queries..................Responsive for all devices
26 | */
27 |
28 |
29 |
30 |
31 |
32 | /*-----------------------------------*\
33 | #COMPONENTS
34 | \*-----------------------------------*/
35 |
36 | @import url("./components/btn.css");
37 | @import url("./components/slider.css");
38 | @import url("./components/card.css");
39 |
40 |
41 |
42 |
43 |
44 | /*-----------------------------------*\
45 | #HEADER
46 | \*-----------------------------------*/
47 |
48 | .header { background-color: transparent; }
49 |
50 | .header.active { background-color: var(--white); }
51 |
52 |
53 |
54 |
55 |
56 | /*-----------------------------------*\
57 | #HERO
58 | \*-----------------------------------*/
59 |
60 | .hero {
61 | position: relative;
62 | background-color: var(--maximum-yellow-red_a10);
63 | padding-block-start: calc(var(--section-padding) + 60px);
64 | text-align: center;
65 | overflow: hidden;
66 | }
67 |
68 | .hero::after {
69 | content: "";
70 | position: absolute;
71 | top: 0;
72 | left: 10%;
73 | bottom: 70%;
74 | right: -75%;
75 | background-color: var(--maximum-yellow-red_a40);
76 | transform: rotate(-45deg);
77 | border-radius: var(--radius-50);
78 | z-index: -1;
79 | }
80 |
81 | .hero .container {
82 | display: grid;
83 | gap: 70px;
84 | }
85 |
86 | .hero-subtitle {
87 | color: var(--jet);
88 | text-transform: uppercase;
89 | font-weight: var(--fw-600);
90 | letter-spacing: 3px;
91 | margin-block-end: 20px;
92 | }
93 |
94 | .hero-text { margin-block: 25px; }
95 |
96 | .hero .btn { margin-inline: auto; }
97 |
98 | .hero-banner {
99 | max-width: max-content;
100 | margin-inline: auto;
101 | }
102 |
103 |
104 |
105 |
106 |
107 | /*-----------------------------------*\
108 | #CLIENT
109 | \*-----------------------------------*/
110 |
111 | .client {
112 | background-color: var(--jet);
113 | padding-block: 30px;
114 | }
115 |
116 | .client .slider-item { min-width: calc(50% - 15px); }
117 |
118 | .client .slider::-webkit-scrollbar { display: none; }
119 |
120 |
121 |
122 |
123 |
124 | /*-----------------------------------*\
125 | #ABOUT
126 | \*-----------------------------------*/
127 |
128 | .about .container {
129 | display: grid;
130 | gap: 50px;
131 | }
132 |
133 | .about .section-text { margin-block: 25px 16px; }
134 |
135 | .about-list {
136 | display: flex;
137 | align-items: center;
138 | gap: 25px;
139 | }
140 |
141 | .about-list .list-text {
142 | color: var(--jet);
143 | font-weight: var(--fw-500);
144 | }
145 |
146 | .about-list .strong {
147 | color: var(--orange-red);
148 | display: block;
149 | }
150 |
151 | .about .wrapper {
152 | margin-block-start: 25px;
153 | display: flex;
154 | flex-wrap: wrap;
155 | align-items: center;
156 | gap: 15px 25px;
157 | }
158 |
159 |
160 |
161 |
162 |
163 | /*-----------------------------------*\
164 | #SKILLS
165 | \*-----------------------------------*/
166 |
167 | .skill { padding-block-end: 0; }
168 |
169 | .skill .container,
170 | .skill-list { display: grid; }
171 |
172 | .skill .container { gap: 50px; }
173 |
174 | .skill-list {
175 | grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
176 | gap: 15px;
177 | }
178 |
179 | .skill .card ion-icon { font-size: 3rem; }
180 |
181 | .skill .card .card-title {
182 | color: var(--jet);
183 | font-size: 1.6rem;
184 | font-weight: var(--fw-500);
185 | }
186 |
187 |
188 |
189 |
190 |
191 | /*-----------------------------------*\
192 | #CTA
193 | \*-----------------------------------*/
194 |
195 | .cta {
196 | background-color: var(--jet);
197 | text-align: center;
198 | padding-block: 46px 50px;
199 | }
200 |
201 | .cta .container {
202 | display: flex;
203 | flex-wrap: wrap;
204 | justify-content: center;
205 | align-items: center;
206 | gap: 12px;
207 | }
208 |
209 | .cta .title-lg {
210 | color: var(--white);
211 | font-weight: var(--fw-500);
212 | }
213 |
214 |
215 |
216 |
217 |
218 | /*-----------------------------------*\
219 | #TESTIMONIALS
220 | \*-----------------------------------*/
221 |
222 | .testi .slider-item {
223 | min-width: 100%;
224 | scroll-margin-inline-start: 16px;
225 | }
226 |
227 | .testi .card {
228 | position: relative;
229 | z-index: 1;
230 | }
231 |
232 | .testi .card::after {
233 | content: url("../images/quote-left.svg");
234 | position: absolute;
235 | bottom: 15px;
236 | right: 25px;
237 | }
238 |
239 | .testi .client-name {
240 | margin-block-start: 15px;
241 | color: var(--jet);
242 | font-weight: var(--fw-600);
243 | }
244 |
245 | .testi .client-title { font-size: var(--fs-14); }
246 |
247 | .testi .slider {
248 | margin-inline: -16px;
249 | padding-inline: 16px;
250 | padding-block-end: 35px;
251 | }
252 |
253 | .testi .slider::-webkit-scrollbar { height: 12px; }
254 |
255 | .testi .slider::-webkit-scrollbar-track {
256 | border: 1px solid var(--jet);
257 | border-radius: var(--radius-pill);
258 | }
259 |
260 | .testi .slider::-webkit-scrollbar-thumb {
261 | background-color: var(--jet);
262 | border-radius: var(--radius-pill);
263 | }
264 |
265 | .testi .slider::-webkit-scrollbar-button { width: calc(25% - 20px); }
266 |
267 |
268 |
269 |
270 |
271 | /*-----------------------------------*\
272 | #MEDIA QUERIES
273 | \*-----------------------------------*/
274 |
275 | /**
276 | * responsive for large than 575px screen
277 | */
278 |
279 | @media (min-width: 575px) {
280 |
281 | /**
282 | * CLIENT, ABOUT & SKILL
283 | */
284 |
285 | .client .slider-item { min-width: calc(33.33% - 20px); }
286 |
287 | .client .slider-item .w-100,
288 | .about-banner,
289 | .skill-banner {
290 | max-width: max-content;
291 | margin-inline: auto;
292 | }
293 |
294 |
295 |
296 | /**
297 | * CTA
298 | */
299 |
300 | .cta .container { justify-content: space-between; }
301 |
302 | }
303 |
304 |
305 |
306 |
307 |
308 | /**
309 | * responsive for large than 768px screen
310 | */
311 |
312 | @media (min-width: 768px) {
313 |
314 | /**
315 | * HERO
316 | */
317 |
318 | .hero-text { --fs-18: 2rem; }
319 |
320 | .hero::after {
321 | top: -20%;
322 | bottom: 50%;
323 | left: 48%;
324 | right: -15%;
325 | }
326 |
327 |
328 |
329 | /**
330 | * CLIENT
331 | */
332 |
333 | .client .slider-item { min-width: calc(25% - 22.5px); }
334 |
335 |
336 |
337 | /**
338 | * TESTIMONIALS
339 | */
340 |
341 | .testi .slider-item { min-width: calc(50% - 15px); }
342 |
343 | }
344 |
345 |
346 |
347 |
348 |
349 | /**
350 | * responsive for large than 992px screen
351 | */
352 |
353 | @media (min-width: 992px) {
354 |
355 | /**
356 | * HERO, ABOUT, SKILL
357 | */
358 |
359 | :is(.hero, .about, .skill) .container {
360 | grid-template-columns: 1fr 1fr;
361 | align-items: center;
362 | }
363 |
364 |
365 |
366 | /**
367 | * HERO
368 | */
369 |
370 | .hero { text-align: left; }
371 |
372 | .hero .btn { margin-inline: 0; }
373 |
374 |
375 |
376 | /**
377 | * CLIENT
378 | */
379 |
380 | .client .slider-item { min-width: calc(20% - 24px); }
381 |
382 |
383 |
384 | /**
385 | * SKILL
386 | */
387 |
388 | .skill .container { align-items: flex-start; }
389 |
390 | }
391 |
392 |
393 |
394 |
395 |
396 | /**
397 | * responsive for large than 1200px screen
398 | */
399 |
400 | @media (min-width: 1200px) {
401 |
402 | /**
403 | * ABOUT
404 | */
405 |
406 | .about-list { gap: 40px; }
407 |
408 | }
--------------------------------------------------------------------------------
/assets/css/pages/contact.css:
--------------------------------------------------------------------------------
1 | /*-----------------------------------*\
2 | #service.css
3 | \*-----------------------------------*/
4 |
5 | /**
6 | * copyright 2022 codewithsadee
7 | */
8 |
9 | /**
10 | * TABLE OF CONTENT
11 | *
12 | * COMPONENTS
13 | * Btn............................Buttons style
14 | *
15 | * MAIN CONTENT
16 | * Contact........................Contact style
17 | * Media queries..................Responsive for all devices
18 | */
19 |
20 |
21 |
22 |
23 |
24 | /*-----------------------------------*\
25 | #COMPONENTS
26 | \*-----------------------------------*/
27 |
28 | @import url("../components/btn.css");
29 |
30 |
31 |
32 |
33 |
34 | /*-----------------------------------*\
35 | #CONTACT
36 | \*-----------------------------------*/
37 |
38 | .contact {
39 | background-color: var(--jet);
40 | padding-block-start: calc(var(--section-padding) + 60px);
41 | }
42 |
43 | .contact .container {
44 | display: grid;
45 | gap: 48px;
46 | }
47 |
48 | .contact-form {
49 | background-color: var(--white);
50 | padding: 25px;
51 | }
52 |
53 | .contact-text { margin-block: 5px 30px; }
54 |
55 | .contact .label { margin-block-end: 8px; }
56 |
57 | .input-field {
58 | padding: 10px 12px;
59 | border: 1px solid var(--jet);
60 | margin-block-end: 24px;
61 | outline: none;
62 | transition: box-shadow var(--transition-1);
63 | }
64 |
65 | .input-field:focus { box-shadow: inset 0 0 0 1px var(--jet); }
66 |
67 | textarea {
68 | resize: vertical;
69 | min-height: 100px;
70 | max-height: 150px;
71 | }
72 |
73 |
74 | .contact-list .contact-item {
75 | display: flex;
76 | align-items: flex-start;
77 | gap: 15px;
78 | }
79 |
80 | .contact-list .contact-item:not(:last-child) { margin-block-end: 35px; }
81 |
82 | .contact-list .item-icon {
83 | color: var(--jet);
84 | width: 55px;
85 | height: 55px;
86 | display: grid;
87 | place-items: center;
88 | flex-shrink: 0;
89 | }
90 |
91 | .contact-list .item-icon ion-icon { font-size: 2.5rem; }
92 |
93 | .contact .label-lg {
94 | color: var(--white_a80);
95 | text-transform: uppercase;
96 | letter-spacing: 2px;
97 | font-weight: var(--fw-400);
98 | margin-block-end: 5px;
99 | }
100 |
101 | .contact .body-lg {
102 | color: var(--white);
103 | word-break: break-all;
104 | }
105 |
106 |
107 |
108 |
109 | /*-----------------------------------*\
110 | #MEDIA QUERIES
111 | \*-----------------------------------*/
112 |
113 | /**
114 | * responsive for large than 768px screen
115 | */
116 |
117 | @media (min-width: 768px) {
118 |
119 | .contact-form { padding: 35px; }
120 |
121 | .wrapper {
122 | display: grid;
123 | grid-template-columns: 1fr 1fr;
124 | gap: 20px;
125 | }
126 |
127 | }
128 |
129 |
130 |
131 |
132 |
133 | /**
134 | * responsive for large than 992px screen
135 | */
136 |
137 | @media (min-width: 992px) {
138 |
139 | .contact .container {
140 | grid-template-columns: 1fr 0.9fr;
141 | align-items: center;
142 | gap: 20px;
143 | }
144 |
145 | .contact-content {
146 | width: 70%;
147 | margin-inline: auto;
148 | }
149 |
150 | }
--------------------------------------------------------------------------------
/assets/css/pages/portfolio.css:
--------------------------------------------------------------------------------
1 | /*-----------------------------------*\
2 | #service.css
3 | \*-----------------------------------*/
4 |
5 | /**
6 | * copyright 2022 codewithsadee
7 | */
8 |
9 | /**
10 | * TABLE OF CONTENT
11 | *
12 | * COMPONENTS
13 | * Btn............................Buttons style
14 | *
15 | * MAIN CONTENT
16 | * Portfolio......................Portfolio style
17 | * Media queries..................Responsive for all devices
18 | */
19 |
20 |
21 |
22 |
23 |
24 | /*-----------------------------------*\
25 | #COMPONENTS
26 | \*-----------------------------------*/
27 |
28 | @import url('../components/btn.css');
29 |
30 |
31 |
32 |
33 |
34 | /*-----------------------------------*\
35 | #PORTFOLIO
36 | \*-----------------------------------*/
37 |
38 | .portfolio {
39 | background-color: var(--maximum-yellow-red_a10);
40 | padding-block-start: calc(var(--section-padding) + 60px);
41 | }
42 |
43 | .portfolio-list,
44 | .portfolio-card { display: grid; }
45 |
46 | .portfolio-list { gap: 50px; }
47 |
48 | .portfolio-card { gap: 25px; }
49 |
50 | .portfolio-card .card-banner {
51 | position: relative;
52 | border: 2px solid var(--jet);
53 | box-shadow: 0 0 0 var(--jet);
54 | transition: var(--transition-1);
55 | }
56 |
57 | .portfolio-card .card-banner:is(:hover, :focus-within) {
58 | box-shadow: 3px 3px 0 var(--jet);
59 | }
60 |
61 | .portfolio-card .btn-icon {
62 | position: absolute;
63 | top: 15px;
64 | left: 0;
65 | background-color: var(--white);
66 | color: var(--jet);
67 | font-size: 2rem;
68 | padding: 8px;
69 | border: 2px solid var(--jet);
70 | opacity: 0;
71 | transition: var(--transition-1);
72 | will-change: transform;
73 | }
74 |
75 | .portfolio-card .card-banner:is(:hover, :focus-within) .btn-icon {
76 | transform: translateX(15px);
77 | opacity: 1;
78 | }
79 |
80 | .portfolio-card .chip {
81 | background-color: var(--orange-red_a20);
82 | max-width: max-content;
83 | color: var(--jet);
84 | font-weight: var(--fw-500);
85 | text-transform: uppercase;
86 | letter-spacing: 3px;
87 | padding: 6px 20px;
88 | border-radius: var(--radius-pill);
89 | margin-block-end: 18px;
90 | }
91 |
92 | .portfolio-card .card-text { margin-block: 10px 25px; }
93 |
94 |
95 |
96 |
97 |
98 | /*-----------------------------------*\
99 | #MEDIA QUERIES
100 | \*-----------------------------------*/
101 |
102 | /**
103 | * responsive for large than 768px screen
104 | */
105 |
106 | @media (min-width: 768px) {
107 |
108 | .portfolio-card {
109 | grid-template-columns: 1fr 1fr;
110 | align-items: center;
111 | }
112 |
113 | .portfolio-list > li:nth-child(2n) .card-banner { order: 1; }
114 |
115 | .portfolio-card > * {
116 | width: 80%;
117 | margin-inline: auto;
118 | }
119 |
120 | .portfolio-card .card-text { margin-block-start: 20px; }
121 |
122 | }
--------------------------------------------------------------------------------
/assets/css/pages/service.css:
--------------------------------------------------------------------------------
1 | /*-----------------------------------*\
2 | #service.css
3 | \*-----------------------------------*/
4 |
5 | /**
6 | * copyright 2022 codewithsadee
7 | */
8 |
9 | /**
10 | * TABLE OF CONTENT
11 | *
12 | * COMPONENTS
13 | * Card...........................Cards style
14 | * Btn............................Button style
15 | *
16 | * MAIN CONTENT
17 | * Service........................Service style
18 | * Media queries..................Responsive for all devices
19 | */
20 |
21 |
22 |
23 |
24 |
25 | /*-----------------------------------*\
26 | #COMPONENTS
27 | \*-----------------------------------*/
28 |
29 | @import url('../components/card.css');
30 | @import url('../components/btn.css');
31 |
32 |
33 |
34 |
35 |
36 | /*-----------------------------------*\
37 | #SERVICES
38 | \*-----------------------------------*/
39 |
40 | .service { padding-block-start: calc(var(--section-padding) + 60px); }
41 |
42 | .service-list {
43 | display: grid;
44 | gap: 25px;
45 | }
46 |
47 | .card-title { margin-block-end: 10px; }
48 |
49 | .card ion-icon { font-size: 3.2rem; }
50 |
51 | .card .body-sm { color: var(--jet); }
52 |
53 |
54 |
55 |
56 |
57 | /*-----------------------------------*\
58 | #MEDIA QUERIES
59 | \*-----------------------------------*/
60 |
61 | /**
62 | * responsive for large than 768px screen
63 | */
64 |
65 | @media (min-width: 768px) {
66 |
67 | .service-list { grid-template-columns: 1fr 1fr; }
68 |
69 | }
--------------------------------------------------------------------------------
/assets/css/require.css:
--------------------------------------------------------------------------------
1 | /*-----------------------------------*\
2 | #require.css
3 | \*-----------------------------------*/
4 |
5 | /**
6 | * copyright 2022 codewithsadee
7 | */
8 |
9 | /**
10 | * TABLE OF CONTENT
11 | *
12 | * Custom properties..............Global variables
13 | * Reset..........................Removed browser default style
14 | * Typography.....................Typography style
15 | * Reused.........................Reused classes
16 | * Preloader......................Preload style
17 | * Header.........................Header style
18 | * Footer.........................Footer style
19 | * Media queries..................Responsive for all devices
20 | */
21 |
22 |
23 |
24 |
25 |
26 | /*-----------------------------------*\
27 | #CUSTOM PROPERTY
28 | \*-----------------------------------*/
29 |
30 | :root {
31 |
32 | /**
33 | * colors
34 | */
35 |
36 | --maximum-yellow-red_a10: hsla(41, 99%, 64%, 0.1);
37 | --maximum-yellow-red_a40: hsla(41, 99%, 64%, 0.4);
38 | --maximum-yellow-red: hsl(41, 99%, 64%);
39 | --orange-red_a20: hsla(19, 100%, 55%, 0.2);
40 | --eerie-black: hsl(210, 11%, 15%);
41 | --orange-red: hsl(19, 100%, 55%);
42 | --davys-gray: hsl(0, 0%, 33%);
43 | --white_a80: hsla(0, 0%, 100%, 0.8);
44 | --white_a75: hsla(0, 0%, 100%, 0.75);
45 | --white_a10: hsla(0, 0%, 100%, 0.1);
46 | --jet_a10: hsla(0, 0%, 22%, 0.1);
47 | --black: hsl(0, 0%, 0%);
48 | --white: hsl(0, 0%, 100%);
49 | --jet: hsl(0, 0%, 22%);
50 |
51 | /**
52 | * typography
53 | */
54 |
55 | --ff-jost: 'Jost', sans-serif;
56 |
57 | --fs-45: 4.5rem;
58 | --fs-38: 3.8rem;
59 | --fs-32: 3.2rem;
60 | --fs-27: 2.7rem;
61 | --fs-26: 2.6rem;
62 | --fs-22: 2.2rem;
63 | --fs-20: 2rem;
64 | --fs-18: 1.8rem;
65 | --fs-17: 1.7rem;
66 | --fs-14: 1.4rem;
67 | --fs-12: 1.2rem;
68 |
69 | --fw-400: 400;
70 | --fw-500: 500;
71 | --fw-600: 600;
72 |
73 | /**
74 | * spacing
75 | */
76 |
77 | --section-padding: 60px;
78 |
79 | /**
80 | * shadow
81 | */
82 |
83 | --shadow: 0 2px 2px hsla(0, 0%, 22%, 0.08);
84 |
85 | /**
86 | * border radius
87 | */
88 |
89 | --radius-50: 50px;
90 | --radius-pill: 100px;
91 | --radius-circle: 50%;
92 |
93 | /**
94 | * transition
95 | */
96 |
97 | --transition-1: 0.25s ease;
98 | --transition-2: 0.5s ease;
99 | --cubic-out: cubic-bezier(0.05, 0.83, 0.52, 0.97);
100 |
101 | }
102 |
103 |
104 |
105 |
106 |
107 | /*-----------------------------------*\
108 | #RESET
109 | \*-----------------------------------*/
110 |
111 | *,
112 | *::before,
113 | *::after {
114 | margin: 0;
115 | padding: 0;
116 | box-sizing: border-box;
117 | }
118 |
119 | li { list-style: none; }
120 |
121 | a,
122 | img,
123 | span,
124 | label,
125 | button,
126 | ion-icon { display: block; }
127 |
128 | a {
129 | color: inherit;
130 | text-decoration: none;
131 | }
132 |
133 | img { height: auto; }
134 |
135 | input,
136 | button,
137 | textarea {
138 | background: none;
139 | border: none;
140 | font: inherit;
141 | }
142 |
143 | button { cursor: pointer; }
144 |
145 | input,
146 | textarea { width: 100%; }
147 |
148 | ion-icon { pointer-events: none; }
149 |
150 | address { font-style: normal; }
151 |
152 | html {
153 | font-family: var(--ff-jost);
154 | font-size: 10px;
155 | scroll-behavior: smooth;
156 | }
157 |
158 | body {
159 | background-color: var(--white);
160 | color: var(--davys-gray);
161 | font-size: 1.6rem;
162 | line-height: 1.5;
163 | overflow: hidden;
164 | }
165 |
166 | body.loaded { overflow: visible; }
167 |
168 | :focus-visible { outline-offset: 4px; }
169 |
170 | ::-webkit-scrollbar { width: 10px; }
171 |
172 | ::-webkit-scrollbar-track { background-color: hsl(0, 0%, 98%); }
173 |
174 | ::-webkit-scrollbar-thumb { background-color: hsl(0, 0%, 80%); }
175 |
176 | ::-webkit-scrollbar-thumb:hover { background-color: hsl(0, 0%, 70%); }
177 |
178 |
179 |
180 |
181 |
182 | /*-----------------------------------*\
183 | #TYPOGRAPHY
184 | \*-----------------------------------*/
185 |
186 | .headline-lg { font-size: var(--fs-45); }
187 |
188 | .headline-md { font-size: var(--fs-38); }
189 |
190 | .headline-sm { font-size: var(--fs-32); }
191 |
192 | .title-lg { font-size: var(--fs-27); }
193 |
194 | .title-md { font-size: var(--fs-26); }
195 |
196 | .title-sm { font-size: var(--fs-22); }
197 |
198 | .body-lg { font-size: var(--fs-20); }
199 |
200 | .body-md { font-size: var(--fs-18); }
201 |
202 | .body-sm { font-size: var(--fs-17); }
203 |
204 | .label-lg { font-size: var(--fs-14); }
205 |
206 | .label-md { font-size: var(--fs-12); }
207 |
208 | /**
209 | * font weight
210 | */
211 |
212 | .headline-lg,
213 | .headline-md,
214 | .headline-sm,
215 | .title-lg,
216 | .title-md,
217 | .title-sm,
218 | .label-lg {
219 | color: var(--jet);
220 | font-weight: var(--fw-600);
221 | line-height: 1.2;
222 | }
223 |
224 | .body-lg { font-weight: var(--fw-500); }
225 |
226 |
227 |
228 |
229 |
230 | /*-----------------------------------*\
231 | #REUSED STYLE
232 | \*-----------------------------------*/
233 |
234 | .container { padding-inline: 16px; }
235 |
236 | .section { padding-block: var(--section-padding); }
237 |
238 | .w-100 { width: 100%; }
239 |
240 | .section-title {
241 | margin-block-end: 30px;
242 | text-transform: uppercase;
243 | letter-spacing: 3px;
244 | }
245 |
246 | .text-center { text-align: center; }
247 |
248 | .img-cover {
249 | width: 100%;
250 | height: 100%;
251 | object-fit: cover;
252 | }
253 |
254 | .has-bg-image {
255 | background-repeat: no-repeat;
256 | background-size: cover;
257 | background-position: center;
258 | }
259 |
260 | .img-holder {
261 | aspect-ratio: var(--width) / var(--height);
262 | background-color: var(--light-gray);
263 | overflow: hidden;
264 | }
265 |
266 |
267 |
268 |
269 |
270 | /*-----------------------------------*\
271 | #PRELOADER
272 | \*-----------------------------------*/
273 |
274 | .preloader {
275 | position: fixed;
276 | top: 0;
277 | left: 0;
278 | width: 100%;
279 | height: 100vh;
280 | background-color: var(--orange-red);
281 | display: grid;
282 | place-items: center;
283 | z-index: 6;
284 | }
285 |
286 | .preloader.loaded { display: none; }
287 |
288 | .preloader-circle {
289 | width: 60px;
290 | height: 60px;
291 | border: 8px solid transparent;
292 | border-block-color: var(--white);
293 | border-radius: var(--radius-circle);
294 | animation: loading 1s linear infinite;
295 | }
296 |
297 | @keyframes loading {
298 | 0% { transform: rotate(0); }
299 | 100% { transform: rotate(1turn); }
300 | }
301 |
302 |
303 |
304 |
305 |
306 | /*-----------------------------------*\
307 | #HEADER
308 | \*-----------------------------------*/
309 |
310 | .header .btn { display: none; }
311 |
312 | .header {
313 | position: fixed;
314 | top: 0;
315 | left: 0;
316 | width: 100%;
317 | background-color: var(--white);
318 | padding-block: 16px;
319 | z-index: 4;
320 | transition: var(--transition-1);
321 | }
322 |
323 | .header.active { box-shadow: var(--shadow); }
324 |
325 | .header .container {
326 | display: flex;
327 | justify-content: space-between;
328 | align-items: center;
329 | }
330 |
331 | .nav-toggle-btn {
332 | color: var(--jet);
333 | font-size: 3.8rem;
334 | }
335 |
336 | .navbar {
337 | position: absolute;
338 | top: 100%;
339 | left: 0;
340 | width: 100%;
341 | background-color: var(--white);
342 | border-block: 2px solid var(--jet);
343 | transition: 0.25s var(--cubic-out);
344 | transition-delay: 0.15s;
345 | transform: scaleY(0);
346 | transform-origin: top;
347 | visibility: hidden;
348 | }
349 |
350 | .navbar.active {
351 | transform: scaleY(1);
352 | visibility: visible;
353 | transition-duration: 0.5s;
354 | transition-delay: 0s;
355 | }
356 |
357 | .navbar > * {
358 | opacity: 0;
359 | transition: var(--transition-1);
360 | }
361 |
362 | .navbar.active > * {
363 | opacity: 1;
364 | transition-delay: 0.4s;
365 | }
366 |
367 | .navbar-item:not(:last-child) { border-block-end: 1px solid var(--jet_a10); }
368 |
369 | .navbar-link {
370 | text-transform: uppercase;
371 | letter-spacing: 3px;
372 | padding: 16px 15px;
373 | transition: var(--transition-1);
374 | }
375 |
376 | .navbar-link:is(:hover, :focus-visible, .active) { color: var(--orange-red); }
377 |
378 |
379 |
380 |
381 |
382 | /*-----------------------------------*\
383 | #FOOTER
384 | \*-----------------------------------*/
385 |
386 | .footer {
387 | background-color: var(--jet);
388 | color: var(--white_a75);
389 | border-block-start: 1px solid var(--white_a10);
390 | padding-block: 18px;
391 | }
392 |
393 | .social-list {
394 | display: flex;
395 | justify-content: center;
396 | gap: 18px;
397 | margin-block-end: 15px;
398 | }
399 |
400 | .social-link { font-size: 1.8rem; }
401 |
402 | .social-link:is(:hover, :focus-visible) { color: var(--orange-red); }
403 |
404 |
405 |
406 |
407 |
408 | /*-----------------------------------*\
409 | #MEDIA QUEREIS
410 | \*-----------------------------------*/
411 |
412 | /**
413 | * responsive for large than 575px screen
414 | */
415 |
416 | @media (min-width: 575px) {
417 |
418 | .title-lg { --fs-27: 3.5rem; }
419 |
420 | }
421 |
422 |
423 |
424 |
425 |
426 | /**
427 | * responsive for large than 768px screen
428 | */
429 |
430 | @media (min-width: 768px) {
431 |
432 | /**
433 | * TYPOGRAPHY
434 | */
435 |
436 | .headline-lg { --fs-45: 6rem; }
437 |
438 | .headline-md { --fs-38: 4.5rem; }
439 |
440 | .title-md { --fs-26: 3.2rem; }
441 |
442 |
443 |
444 | /**
445 | * REUSED STYLE
446 | */
447 |
448 | .section { --section-padding: 100px; }
449 |
450 | .section-title { margin-block-end: 40px; }
451 |
452 |
453 |
454 | /**
455 | * FOOTER
456 | */
457 |
458 | .footer { padding-block: 25px; }
459 |
460 | .footer .container {
461 | display: flex;
462 | justify-content: space-between;
463 | align-items: center;
464 | }
465 |
466 | .social-list { margin-block-end: 0; }
467 |
468 | }
469 |
470 |
471 |
472 |
473 |
474 | /**
475 | * responsive for large than 992px screen
476 | */
477 |
478 | @media (min-width: 992px) {
479 |
480 | /**
481 | * TYPOGRAPHY
482 | */
483 |
484 | .headline-md { --fs-38: 5rem; }
485 |
486 | .title-lg { --fs-27: 4rem; }
487 |
488 | .title-sm { --fs-22: 2.4rem; }
489 |
490 |
491 |
492 | /**
493 | * REUSED STYLE
494 | */
495 |
496 | .section-title { margin-block-end: 60px; }
497 |
498 |
499 |
500 | /**
501 | * HEADER
502 | */
503 |
504 | .nav-toggle-btn { display: none; }
505 |
506 | .navbar,
507 | .navbar.active,
508 | .navbar > * {
509 | all: unset;
510 | display: block;
511 | }
512 |
513 | .navbar-list { display: flex; }
514 |
515 | .navbar-item:not(:last-child) { border-block-end: none; }
516 |
517 | .navbar-link { position: relative; }
518 |
519 | .navbar-link::after {
520 | content: "";
521 | position: absolute;
522 | bottom: 5px;
523 | left: 50%;
524 | transform: translateX(-50%) scaleX(0);
525 | transform-origin: right;
526 | width: 80%;
527 | height: 2px;
528 | background-color: var(--orange-red);
529 | transition: transform var(--transition-1);
530 | }
531 |
532 | .navbar-link:is(:hover, :focus-visible, .active)::after {
533 | transform: translateX(-50%) scaleX(1);
534 | transform-origin: left;
535 | }
536 |
537 | .header .btn { display: block; }
538 |
539 | }
540 |
541 |
542 |
543 |
544 |
545 | /**
546 | * responsive for large than 1200px screen
547 | */
548 |
549 | @media (min-width: 1200px) {
550 |
551 | /**
552 | * TYPOGRAPHY
553 | */
554 |
555 | .headline-lg { --fs-45: 7rem; }
556 |
557 |
558 |
559 | /**
560 | * REUSED STYLE
561 | */
562 |
563 | .container {
564 | max-width: 1240px;
565 | width: 100%;
566 | margin-inline: auto;
567 | }
568 |
569 | }
--------------------------------------------------------------------------------
/assets/images/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/Thumbs.db
--------------------------------------------------------------------------------
/assets/images/about-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/about-banner.png
--------------------------------------------------------------------------------
/assets/images/client-1.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/assets/images/client-2.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/assets/images/client-3.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/assets/images/client-4.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/assets/images/client-5.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/assets/images/contact-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/contact-bg.png
--------------------------------------------------------------------------------
/assets/images/hero-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/hero-banner.png
--------------------------------------------------------------------------------
/assets/images/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/assets/images/portfolio-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/portfolio-1.jpg
--------------------------------------------------------------------------------
/assets/images/portfolio-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/portfolio-2.jpg
--------------------------------------------------------------------------------
/assets/images/portfolio-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/portfolio-3.jpg
--------------------------------------------------------------------------------
/assets/images/portfolio-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/portfolio-4.jpg
--------------------------------------------------------------------------------
/assets/images/quote-left.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/assets/images/service-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/service-bg.png
--------------------------------------------------------------------------------
/assets/images/skill-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/skill-banner.png
--------------------------------------------------------------------------------
/assets/images/testi-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/testi-1.jpg
--------------------------------------------------------------------------------
/assets/images/testi-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/testi-2.jpg
--------------------------------------------------------------------------------
/assets/images/testi-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/testi-3.jpg
--------------------------------------------------------------------------------
/assets/images/testi-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/assets/images/testi-4.jpg
--------------------------------------------------------------------------------
/assets/js/script.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 |
4 |
5 | /**
6 | * Add eventListener on multiple elements
7 | */
8 |
9 | const addEventOnElements = function (elements, eventType, callback) {
10 | for (let i = 0, len = elements.length; i < len; i++) {
11 | elements[i].addEventListener(eventType, callback);
12 | }
13 | }
14 |
15 |
16 |
17 | /**
18 | * PRELOADER
19 | */
20 |
21 | const preloader = document.querySelector("[data-preloader]");
22 |
23 | window.addEventListener("load", function () {
24 | preloader.classList.add("loaded");
25 | document.body.classList.add("loaded");
26 | });
27 |
28 |
29 |
30 | /**
31 | * MOBILE NAV TOGGLE
32 | */
33 |
34 | const navbar = document.querySelector("[data-navbar]");
35 | const navToggler = document.querySelector("[data-nav-toggler]");
36 |
37 | const toggleNavbar = function () { navbar.classList.toggle("active"); }
38 |
39 | navToggler.addEventListener("click", toggleNavbar);
40 |
41 |
42 |
43 | /**
44 | * HEADER
45 | *
46 | * active header when window scrolled to 50px
47 | */
48 |
49 | const header = document.querySelector("[data-header]");
50 |
51 | const activeHeader = function () {
52 | window.scrollY > 50 ? header.classList.add("active")
53 | : header.classList.remove("active");
54 | }
55 |
56 | window.addEventListener("scroll", activeHeader);
--------------------------------------------------------------------------------
/contact.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
12 | Annie | Contact
13 |
14 |
15 |
16 |
19 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
45 |
46 |
47 |
48 |
49 |
50 |
53 |
54 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
102 |
103 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
207 |
208 |
249 |
250 |
251 |
252 |
253 |
254 |
257 |
258 |
259 |
262 |
263 |
264 |
265 |
266 |
267 |
--------------------------------------------------------------------------------
/favicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
12 | Annie - Web Developer Based on Los Angeles
13 |
14 |
15 |
16 |
19 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
31 |
32 |
33 |
34 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
46 |
47 |
50 |
51 |
52 |
53 |
54 |
55 |
58 |
59 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
👋, My name is Annie
114 |
115 |
I'm a Developer
116 |
117 |
118 | Based in Los Angeles, California.
119 |
120 |
121 |
Let's Start
122 |
123 |
124 |
125 |
126 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
140 |
141 |
170 |
171 |
172 |
173 |
174 |
175 |
178 |
179 |
180 |
181 |
182 |
183 |
185 |
186 |
187 |
188 |
189 |
I'm a Freelancer Front-end Developer with over 3 years of experience.
190 |
191 |
192 | I'm a Freelancer Front-end Developer with over 3 years of experience. I'm from San Francisco. I code and
193 | create web elements for amazing people around the world. I like work with new people. New people new
194 | Experiences.
195 |
196 |
197 |
212 |
213 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
My Skills
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
HTML
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
CSS
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
React JS
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
Angular
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
iOs App
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
App Dev
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
332 |
333 |
334 |
335 |
Intrested working with me?
336 |
337 |
Contact Now
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
348 |
349 |
350 |
351 |
352 |
Testimonial
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
362 |
363 |
364 |
365 |
366 |
367 | Dolor lorem is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
368 | industry's standard dummy text ever since the 1500s.
369 |
370 |
371 |
Jennifer Lutheran
372 |
373 |
CEO at pxdraft
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
386 |
387 |
388 |
389 |
390 |
391 | Dolor lorem is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
392 | industry's standard dummy text ever since the 1500s.
393 |
394 |
395 |
Jennifer Lutheran
396 |
397 |
CEO at pxdraft
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
410 |
411 |
412 |
413 |
414 |
415 | Dolor lorem is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
416 | industry's standard dummy text ever since the 1500s.
417 |
418 |
419 |
Jennifer Lutheran
420 |
421 |
CEO at pxdraft
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
434 |
435 |
436 |
437 |
438 |
439 | Dolor lorem is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
440 | industry's standard dummy text ever since the 1500s.
441 |
442 |
443 |
Jennifer Lutheran
444 |
445 |
CEO at pxdraft
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
467 |
468 |
509 |
510 |
511 |
512 |
513 |
514 |
517 |
518 |
519 |
522 |
523 |
524 |
525 |
526 |
527 |
--------------------------------------------------------------------------------
/index.txt:
--------------------------------------------------------------------------------
1 | Annie - Web Developer Based on Los Angeles
2 |
3 | This is a personal portfolio html template made by codewithsadee
4 |
5 | Annie | Services
6 |
7 | Annie | Portfolio
8 |
9 | Annie | Contact
10 |
11 |
12 |
13 | #---------- HEADER ----------#
14 |
15 | alt = Annie home
16 |
17 | Home
18 | Services
19 | Portfolio
20 | Contact
21 |
22 | Contact Now
23 |
24 | aria-label = menu
25 |
26 |
27 |
28 |
29 | #---------- HERO ----------#
30 |
31 | 👋, My name is Annie
32 |
33 | I'm a Developer
34 |
35 | Based in Los Angeles, California.
36 |
37 | Let's Start
38 |
39 | alt = Annie, the blonde, dressed in a green hoodie with a smile on her face
40 |
41 |
42 |
43 | #---------- CLIENTS ----------#
44 |
45 | alt = clients
46 |
47 |
48 |
49 | #---------- ABOUT ----------#
50 |
51 | alt = Annie, the blonde, dressed in a black tops with a smile on her face
52 |
53 | I'm a Freelancer Front-end Developer with over 3 years of experience.
54 |
55 | I'm a Freelancer Front-end Developer with over 3 years of experience. I'm from San Francisco. I code and create web elements for amazing people around the world. I like work with new people. New people new Experiences.
56 |
57 | 285+
58 | Projet Completed
59 |
60 | 190+
61 | Happy Clients
62 |
63 | Contact Me
64 |
65 | Portfolio
66 |
67 |
68 |
69 | #---------- SKILLS ----------#
70 |
71 | My Skills
72 |
73 | bg-color = hsl(177, 39%, 72%)
74 |
75 |
76 | HTML
77 |
78 | bg-color = hsl(41, 99%, 64%)
79 |
80 |
81 | CSS
82 |
83 | bg-color = hsl(19, 97%, 85%)
84 |
85 |
86 | React JS
87 |
88 | bg-color = hsl(221, 100%, 79%)
89 |
90 |
91 | Angular
92 |
93 | bg-color = hsl(76, 39%, 72%)
94 |
95 |
96 | iOs App
97 |
98 | bg-color = hsl(245, 100%, 90%)
99 |
100 |
101 | App Dev
102 |
103 | alt = Annie, the blonde, dressed in a green hoodie with a smile on her face
104 |
105 |
106 |
107 | #---------- CTA ----------#
108 |
109 | Intrested working with me?
110 |
111 | Contact Now
112 |
113 |
114 |
115 | #---------- TESTIMONIALS ----------#
116 |
117 | Testimonial
118 |
119 | alt = Jennifer Lutheran
120 |
121 | Dolor lorem is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
122 |
123 | Jennifer Lutheran
124 | CEO at pxdraft
125 |
126 |
127 |
128 | #---------- FOOTER ----------#
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 | © 2022 copyright all right reserved
137 |
138 |
139 |
140 | #---------- SERVICES ----------#
141 |
142 | My Services
143 |
144 | bg-color = hsl(177, 39%, 72%)
145 |
146 |
147 |
148 | Web Design
149 |
150 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
151 |
152 | bg-color = hsl(41, 99%, 64%)
153 |
154 |
155 |
156 | Development
157 |
158 | bg-color = hsl(19, 97%, 85%)
159 |
160 |
161 |
162 | SEO Marketing
163 |
164 | bg-color = hsl(221, 100%, 79%)
165 |
166 |
167 |
168 | Web Design
169 |
170 | bg-color = hsl(76, 39%, 72%)
171 |
172 |
173 |
174 | Development
175 |
176 | bg-color = hsl(245, 100%, 90%)
177 |
178 |
179 |
180 | SEO Marketing
181 |
182 |
183 |
184 | #---------- PORTFOLIO ----------#
185 |
186 | Latest Projects
187 |
188 | alt = Website Design for Marketing Agency Startup
189 |
190 | aria-label = More about Website Design for Marketing Agency Startup
191 |
192 |
193 |
194 | Web Design
195 |
196 | Website Design for Marketing Agency Startup
197 |
198 | I design and develop services for customers of all sizes, specializing in creating stylish, modern websites, web services and online stores
199 |
200 | View Project
201 |
202 |
203 |
204 | #---------- CONTACT ----------#
205 |
206 | Get in touch
207 | Our friendly team would love to hear from you.
208 |
209 | First name
210 | placeholder = Name *
211 |
212 | Your Email
213 | placeholder = Email *
214 |
215 | Subject
216 | placeholder = Subject *
217 |
218 | Your message
219 | placeholder = Your message *
220 |
221 | Send Message
222 |
223 | bg-color = hsl(177, 39%, 72%)
224 |
225 |
226 | Phone
227 | +01 123 654 8096
228 |
229 | bg-color = hsl(41, 99%, 64%)
230 |
231 |
232 | Mail
233 | info@domainname.com
234 |
235 | bg-color = hsl(19, 97%, 85%)
236 |
237 |
238 | Visit My Studio
239 |
240 | Warnwe Park Streetperrine,
241 | FL 33157 New York City
--------------------------------------------------------------------------------
/portfolio.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
12 | Annie | Portfolio
13 |
14 |
15 |
16 |
19 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
45 |
46 |
47 |
48 |
49 |
50 |
53 |
54 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
102 |
103 |
104 |
105 |
106 |
Latest Projects
107 |
108 |
109 |
110 |
111 |
112 |
113 |
121 |
122 |
123 |
124 |
Web Design
125 |
126 |
Website Design for Marketing Agency Startup
127 |
128 |
129 | I design and develop services for customers of all sizes, specializing in creating stylish, modern
130 | websites, web services and online stores
131 |
132 |
133 |
View Project
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
151 |
152 |
153 |
154 |
Web Design
155 |
156 |
Website Design for Marketing Agency Startup
157 |
158 |
159 | I design and develop services for customers of all sizes, specializing in creating stylish, modern
160 | websites, web services and online stores
161 |
162 |
163 |
View Project
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
181 |
182 |
183 |
184 |
Web Design
185 |
186 |
Website Design for Marketing Agency Startup
187 |
188 |
189 | I design and develop services for customers of all sizes, specializing in creating stylish, modern
190 | websites, web services and online stores
191 |
192 |
193 |
View Project
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
211 |
212 |
213 |
214 |
Web Design
215 |
216 |
Website Design for Marketing Agency Startup
217 |
218 |
219 | I design and develop services for customers of all sizes, specializing in creating stylish, modern
220 | websites, web services and online stores
221 |
222 |
223 |
View Project
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
245 |
246 |
287 |
288 |
289 |
290 |
291 |
292 |
295 |
296 |
297 |
300 |
301 |
302 |
303 |
304 |
305 |
--------------------------------------------------------------------------------
/readme-images/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/readme-images/Thumbs.db
--------------------------------------------------------------------------------
/readme-images/desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codewithsadee/annie/6ea8e56cc15909076bd9512101b559f04d31bf07/readme-images/desktop.png
--------------------------------------------------------------------------------
/service.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
12 | Annie | Services
13 |
14 |
15 |
16 |
19 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
45 |
46 |
47 |
48 |
49 |
50 |
53 |
54 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
102 |
103 |
105 |
106 |
107 |
My Services
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
Web Design
120 |
121 |
122 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
123 | et dolore magna aliqua.
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
Development
139 |
140 |
141 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
142 | et dolore magna aliqua.
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
SEO Marketing
158 |
159 |
160 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
161 | et dolore magna aliqua.
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
Web Design
177 |
178 |
179 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
180 | et dolore magna aliqua.
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
Development
196 |
197 |
198 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
199 | et dolore magna aliqua.
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
SEO Marketing
215 |
216 |
217 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
218 | et dolore magna aliqua.
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
240 |
241 |
282 |
283 |
284 |
285 |
286 |
287 |
290 |
291 |
292 |
295 |
296 |
297 |
298 |
299 |
300 |
--------------------------------------------------------------------------------
/style-guide.md:
--------------------------------------------------------------------------------
1 | # Essential Stuff
2 |
3 | ## Html import links
4 |
5 | Google font
6 |
7 | ``` html
8 |
9 |
10 |
11 | ```
12 |
13 | Ionicon
14 |
15 | ``` html
16 |
17 |
18 | ```
19 |
20 | ---
21 |
22 | ## Colors
23 |
24 | ``` css
25 | --maximum-yellow-red_a10: hsla(41, 99%, 64%, 0.1);
26 | --maximum-yellow-red_a40: hsla(41, 99%, 64%, 0.4);
27 | --maximum-yellow-red: hsl(41, 99%, 64%);
28 | --orange-red_a20: hsla(19, 100%, 55%, 0.2);
29 | --eerie-black: hsl(210, 11%, 15%);
30 | --orange-red: hsl(19, 100%, 55%);
31 | --davys-gray: hsl(0, 0%, 33%);
32 | --white_a80: hsla(0, 0%, 100%, 0.8);
33 | --white_a75: hsla(0, 0%, 100%, 0.75);
34 | --white_a10: hsla(0, 0%, 100%, 0.1);
35 | --jet_a10: hsla(0, 0%, 22%, 0.1);
36 | --black: hsl(0, 0%, 0%);
37 | --white: hsl(0, 0%, 100%);
38 | --jet: hsl(0, 0%, 22%);
39 | ```
40 |
41 | ## Typography
42 |
43 | ``` css
44 | --ff-jost: 'Jost', sans-serif;
45 |
46 | --fs-45: 4.5rem;
47 | --fs-38: 3.8rem;
48 | --fs-32: 3.2rem;
49 | --fs-27: 2.7rem;
50 | --fs-26: 2.6rem;
51 | --fs-22: 2.2rem;
52 | --fs-20: 2rem;
53 | --fs-18: 1.8rem;
54 | --fs-17: 1.7rem;
55 | --fs-14: 1.4rem;
56 | --fs-12: 1.2rem;
57 |
58 | --fw-400: 400;
59 | --fw-500: 500;
60 | --fw-600: 600;
61 | ```
62 |
63 | ## Spacing
64 |
65 | ``` css
66 | --section-padding: 60px;
67 | ```
68 |
69 | ## Shadow
70 |
71 | ``` css
72 | --shadow: 0 2px 2px hsla(0, 0%, 22%, 0.08);
73 | ```
74 |
75 | ## Border Radius
76 |
77 | ``` css
78 | --radius-50: 50px;
79 | --radius-pill: 100px;
80 | --radius-circle: 50%;
81 | ```
82 |
83 | ## Transition
84 |
85 | ``` css
86 | --transition-1: 0.25s ease;
87 | --transition-2: 0.5s ease;
88 | --cubic-out: cubic-bezier(0.05, 0.83, 0.52, 0.97);
89 | ```
90 |
--------------------------------------------------------------------------------