├── README.md
├── Text Responsive portfolio website Patrick.txt
├── assets
├── css
│ └── styles.css
├── img
│ ├── blob-border.svg
│ ├── blob.svg
│ ├── favicon.png
│ ├── perfil.png
│ ├── project-img-1.jpg
│ ├── project-img-2.jpg
│ ├── project-img-3.jpg
│ ├── project-img-4.jpg
│ ├── project-img-5.jpg
│ └── project-img-6.jpg
└── js
│ ├── main.js
│ └── scrollreveal.min.js
├── index.html
└── preview.png
/README.md:
--------------------------------------------------------------------------------
1 | # Responsive Portfolio Website Patrick
2 | ## [Watch it on youtube](https://youtu.be/Y4-xMb-eHOQ)
3 | ### Responsive Portfolio Website Patrick
4 |
5 | - Responsive Portfolio Website Design Using HTML CSS & JavaScript
6 | - Contains animations when scrolling.
7 | - Smooth scrolling in each section.
8 | - Contains a beautiful dark theme.
9 | - The color of the project can be customized.
10 | - Sending emails in the contact section.
11 | - Developed first with the Mobile First methodology, then for desktop.
12 | - Compatible with all mobile devices and with a beautiful and pleasant user interface.
13 |
14 | 💙 Join the channel to see more videos like this. [Bedimcode](https://www.youtube.com/@Bedimcode)
15 |
16 | 
17 |
--------------------------------------------------------------------------------
/Text Responsive portfolio website Patrick.txt:
--------------------------------------------------------------------------------
1 | ========== HEADER ==========
2 | .nav__logo
3 | Patrick Moz
4 |
5 | .nav__link
6 | Home - About - Services - Projects - Contact
7 |
8 |
9 | ========== HOME ==========
10 | .home__subtitle
11 | Hello, I’m
12 |
13 | .home__title
14 | Patrick Moz
15 |
16 | .home__education
17 | Front-end Developer
18 |
19 | .home__description
20 | With knowledge in web development and
21 | design, I offer the best projects resulting
22 | in quality work.
23 |
24 | .button
25 | Let's Talk
26 |
27 | .home__social
28 | https://github.com/
29 | https://dribbble.com/
30 | https://www.linkedin.com/
31 |
32 | .home__social-icon (clip-path)
33 | polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%)
34 |
35 |
36 | ========== ABOUT ==========
37 | .section__subtitle
38 | My Intro
39 |
40 | .section__title
41 | About Me
42 |
43 | .about__description
44 | Frontend developer, I create web pages with
45 | UI / UX user interface, I have years of
46 | experience and many clients are happy with the
47 | projects carried out.
48 |
49 | .button
50 | Contact Me
51 |
52 |
53 | ========== SKILLS ==========
54 | .section__subtitle
55 | Favorite Skills
56 |
57 | .section__title
58 | My Skills
59 |
60 | .skills__description
61 | See fully what skills I have and perform,
62 | to develop the projects for you.
63 |
64 | .button
65 | See Projects
66 |
67 | .skills__item
68 | HTML & CSS
69 | JavaScript
70 | Bootstrap
71 | React
72 |
73 | Git & GitHub
74 | Figma
75 | Sketch
76 |
77 |
78 | ========== SERVICES ==========
79 | .section__subtitle
80 | My Services
81 |
82 | .section__title
83 | What I Do
84 |
85 | .services__title .services__description
86 | Web Developer
87 | Development of custom web pages.
88 | Using current technologies and
89 | libraries of the labor field.
90 |
91 | UI/UX Designer
92 | I offer design of web interfaces and
93 | mobile applications, design made in
94 | figma, adobe xd and sketch.
95 |
96 | Graphic Design
97 | I make designs at the client's request,
98 | banner design, posters, digital
99 | designs among others.
100 |
101 |
102 | ========== PROJECTS ==========
103 | .section__subtitle
104 | My Jobs
105 |
106 | .section__title
107 | Recent Projects
108 |
109 | .projects__subtitle .projects__title .projects__button
110 | Web
111 | Modern website
112 | View demo
113 |
114 |
115 | ========== CONTACT ==========
116 | .section__subtitle
117 | Get In Touch
118 |
119 | .section__title
120 | Contact Me
121 |
122 | .contact__input (placeholder)
123 | Enter your name
124 | Enter your email
125 | Enter your message
126 |
127 | .button (type="submit")
128 | Send Message
129 |
130 |
131 | ========== EMAIL JS CONTACT ==========
132 | Before proceeding, I recommend creating your EmailJs account(https://www.emailjs.com/)
133 |
134 | // serviceID - templateID - #form - publicKey
135 |
136 | // Show sent message
137 |
138 | Message sent successfully
139 |
140 | // Remove message after five seconds
141 |
142 | // Clear input fields
143 |
144 | // Show error message
145 |
146 | Message not sent (service error)
147 |
148 |
149 | * Copy this code into your (Email Template)
150 |
151 | Names: {{user_name}}
152 |
153 | Email: {{user_email}}
154 |
155 | Project: {{user_project}}
156 |
157 | Best wishes,
158 | EmailJS team
159 |
160 |
161 | ========== FOOTER ==========
162 | .footer__title
163 | Patrick Moz
164 |
165 | .footer__education
166 | Front-end Developer
167 |
168 | .footer__social-link
169 | https://www.facebook.com/
170 | https://www.instagram.com/
171 | https://twitter.com/
172 |
173 | .footer__copy
174 | © Copyright Bedimcode. All rights reserved
175 |
176 | .footer__social-icon (clip-path)
177 | polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%)
178 |
--------------------------------------------------------------------------------
/assets/css/styles.css:
--------------------------------------------------------------------------------
1 | /*=============== GOOGLE FONTS ===============*/
2 | @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap");
3 |
4 | /*=============== VARIABLES CSS ===============*/
5 | :root {
6 | --header-height: 3.5rem;
7 |
8 | /*========== Colors ==========*/
9 | /*Color mode HSL(hue, saturation, lightness)*/
10 | /*
11 | Change favorite color
12 | Default: hsl(162, 100%, 40%)
13 | Orange: hsl(14, 100%, 65%) - Blue: hsl(210, 100%, 70%)
14 | Pink: hsl(356, 100%, 75%) - Purple: hsl(250, 100%, 75%)
15 |
16 | For more colors visit: https://colors.dopely.top/color-pedia
17 | -> Choose any color
18 | -> click on tab (Color Conversion)
19 | -> Copy the color mode (HSL)
20 | */
21 |
22 | --hue: 162;
23 | --first-color: hsl(var(--hue), 100%, 40%);
24 | --first-color-alt: hsl(var(--hue), 56%, 35%);
25 | --title-color: hsl(228, 8%, 95%);
26 | --text-color: hsl(228, 8%, 65%);
27 | --body-color: hsl(228, 15%, 20%);
28 | --container-color: hsl(228, 15%, 15%);
29 |
30 | /*========== Font and typography ==========*/
31 | /*.5rem = 8px | 1rem = 16px ...*/
32 | --body-font: "Poppins", sans-serif;
33 | --biggest-font-size: 2rem;
34 | --bigger-font-size: 1.25rem;
35 | --h1-font-size: 1.5rem;
36 | --h2-font-size: 1.25rem;
37 | --h3-font-size: 1rem;
38 | --normal-font-size: .938rem;
39 | --small-font-size: .813rem;
40 | --smaller-font-size: .75rem;
41 |
42 | /*========== Font weight ==========*/
43 | --font-regular: 400;
44 | --font-medium: 500;
45 | --font-semi-bold: 600;
46 |
47 | /*========== z index ==========*/
48 | --z-tooltip: 10;
49 | --z-fixed: 100;
50 | }
51 |
52 | /*========== Responsive typography ==========*/
53 | @media screen and (min-width: 1152px) {
54 | :root {
55 | --biggest-font-size: 4rem;
56 | --bigger-font-size: 2rem;
57 | --h1-font-size: 2.25rem;
58 | --h2-font-size: 1.5rem;
59 | --h3-font-size: 1.25rem;
60 | --normal-font-size: 1rem;
61 | --small-font-size: .875rem;
62 | --smaller-font-size: .813rem;
63 | }
64 | }
65 |
66 | /*=============== BASE ===============*/
67 | * {
68 | box-sizing: border-box;
69 | padding: 0;
70 | margin: 0;
71 | }
72 |
73 | html {
74 | scroll-behavior: smooth;
75 | }
76 |
77 | input,
78 | textarea,
79 | button,
80 | body {
81 | font-family: var(--body-font);
82 | font-size: var(--normal-font-size);
83 | }
84 |
85 | body {
86 | background-color: var(--body-color);
87 | color: var(--text-color);
88 | }
89 |
90 | input,
91 | textarea,
92 | button {
93 | outline: none;
94 | border: none;
95 | }
96 |
97 | h1, h2, h3, h4 {
98 | color: var(--title-color);
99 | font-weight: var(--font-medium);
100 | }
101 |
102 | ul {
103 | list-style: none;
104 | }
105 |
106 | a {
107 | text-decoration: none;
108 | }
109 |
110 | img,
111 | svg {
112 | max-width: 100%;
113 | height: auto;
114 | }
115 |
116 | /*=============== REUSABLE CSS CLASSES ===============*/
117 | .container {
118 | max-width: 1120px;
119 | margin-inline: 1.5rem;
120 | }
121 |
122 | .grid {
123 | display: grid;
124 | gap: 1.5rem;
125 | }
126 |
127 | .section {
128 | padding-block: 5rem 2rem;
129 | }
130 |
131 | .section__title,
132 | .section__subtitle {
133 | text-align: center;
134 | color: var(--title-color);
135 | font-weight: var(--font-semi-bold);
136 | }
137 |
138 | .section__title {
139 | font-size: var(--h1-font-size);
140 | margin-bottom: 1.5rem;
141 | }
142 |
143 | .section__subtitle {
144 | font-size: var(--small-font-size);
145 | margin-bottom: .25rem;
146 | }
147 |
148 | .section__subtitle span {
149 | color: var(--first-color);
150 | }
151 |
152 | .main {
153 | overflow: hidden; /* For animation ScrollReveal */
154 | }
155 |
156 | /*=============== HEADER & NAV ===============*/
157 |
158 |
159 | /* Navigation for mobile devices */
160 |
161 |
162 | /* Show menu */
163 |
164 |
165 | /* Add blur to header */
166 |
167 |
168 | /* Active link */
169 |
170 |
171 | /*=============== HOME ===============*/
172 |
173 |
174 | /*=============== BUTTON ===============*/
175 |
176 |
177 | /*=============== ABOUT ===============*/
178 |
179 |
180 | /*=============== SKILLS ===============*/
181 |
182 |
183 | /*=============== SERVICES ===============*/
184 |
185 |
186 | /*=============== PROJECTS ===============*/
187 |
188 |
189 | /*=============== CONTACT ===============*/
190 |
191 |
192 | /*=============== FOOTER ===============*/
193 |
194 |
195 | /*=============== SCROLL BAR ===============*/
196 |
197 |
198 | /*=============== SCROLL UP ===============*/
199 |
200 |
201 | /* Show Scroll Up */
202 |
203 |
204 | /*=============== BREAKPOINTS ===============*/
205 | /* For small devices */
206 |
207 |
208 | /* For medium devices */
209 |
210 |
211 | /* For large devices */
212 |
--------------------------------------------------------------------------------
/assets/img/blob-border.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/img/blob.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/img/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bedimcode/responsive-portfolio-website-patrick/08def41ca3450be01cec3f901189257c33e4c9b2/assets/img/favicon.png
--------------------------------------------------------------------------------
/assets/img/perfil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bedimcode/responsive-portfolio-website-patrick/08def41ca3450be01cec3f901189257c33e4c9b2/assets/img/perfil.png
--------------------------------------------------------------------------------
/assets/img/project-img-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bedimcode/responsive-portfolio-website-patrick/08def41ca3450be01cec3f901189257c33e4c9b2/assets/img/project-img-1.jpg
--------------------------------------------------------------------------------
/assets/img/project-img-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bedimcode/responsive-portfolio-website-patrick/08def41ca3450be01cec3f901189257c33e4c9b2/assets/img/project-img-2.jpg
--------------------------------------------------------------------------------
/assets/img/project-img-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bedimcode/responsive-portfolio-website-patrick/08def41ca3450be01cec3f901189257c33e4c9b2/assets/img/project-img-3.jpg
--------------------------------------------------------------------------------
/assets/img/project-img-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bedimcode/responsive-portfolio-website-patrick/08def41ca3450be01cec3f901189257c33e4c9b2/assets/img/project-img-4.jpg
--------------------------------------------------------------------------------
/assets/img/project-img-5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bedimcode/responsive-portfolio-website-patrick/08def41ca3450be01cec3f901189257c33e4c9b2/assets/img/project-img-5.jpg
--------------------------------------------------------------------------------
/assets/img/project-img-6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bedimcode/responsive-portfolio-website-patrick/08def41ca3450be01cec3f901189257c33e4c9b2/assets/img/project-img-6.jpg
--------------------------------------------------------------------------------
/assets/js/main.js:
--------------------------------------------------------------------------------
1 | /*=============== SHOW MENU ===============*/
2 |
3 |
4 | /*=============== REMOVE MENU MOBILE ===============*/
5 |
6 |
7 | /*=============== ADD BLUR TO HEADER ===============*/
8 |
9 |
10 | /*=============== EMAIL JS ===============*/
11 |
12 |
13 | /*=============== SHOW SCROLL UP ===============*/
14 |
15 |
16 | /*=============== SCROLL SECTIONS ACTIVE LINK ===============*/
17 |
18 |
19 | /*=============== SCROLL REVEAL ANIMATION ===============*/
20 |
--------------------------------------------------------------------------------
/assets/js/scrollreveal.min.js:
--------------------------------------------------------------------------------
1 | /*! @license ScrollReveal v4.0.9
2 |
3 | Copyright 2021 Fisssion LLC.
4 |
5 | Licensed under the GNU General Public License 3.0 for
6 | compatible open source projects and non-commercial use.
7 |
8 | For commercial sites, themes, projects, and applications,
9 | keep your source code private/proprietary by purchasing
10 | a commercial license from https://scrollrevealjs.org/
11 | */
12 | var ScrollReveal=function(){"use strict";var r={delay:0,distance:"0",duration:600,easing:"cubic-bezier(0.5, 0, 0, 1)",interval:0,opacity:0,origin:"bottom",rotate:{x:0,y:0,z:0},scale:1,cleanup:!1,container:document.documentElement,desktop:!0,mobile:!0,reset:!1,useDelay:"always",viewFactor:0,viewOffset:{top:0,right:0,bottom:0,left:0},afterReset:function(){},afterReveal:function(){},beforeReset:function(){},beforeReveal:function(){}};var n={success:function(){document.documentElement.classList.add("sr"),document.body?document.body.style.height="100%":document.addEventListener("DOMContentLoaded",function(){document.body.style.height="100%"})},failure:function(){return document.documentElement.classList.remove("sr"),{clean:function(){},destroy:function(){},reveal:function(){},sync:function(){},get noop(){return!0}}}};function o(e){return"object"==typeof window.Node?e instanceof window.Node:null!==e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName}function u(e,t){if(void 0===t&&(t=document),e instanceof Array)return e.filter(o);if(o(e))return[e];if(n=e,i=Object.prototype.toString.call(n),"object"==typeof window.NodeList?n instanceof window.NodeList:null!==n&&"object"==typeof n&&"number"==typeof n.length&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(i)&&(0===n.length||o(n[0])))return Array.prototype.slice.call(e);var n,i;if("string"==typeof e)try{var r=t.querySelectorAll(e);return Array.prototype.slice.call(r)}catch(e){return[]}return[]}function s(e){return null!==e&&e instanceof Object&&(e.constructor===Object||"[object Object]"===Object.prototype.toString.call(e))}function f(n,i){if(s(n))return Object.keys(n).forEach(function(e){return i(n[e],e,n)});if(n instanceof Array)return n.forEach(function(e,t){return i(e,t,n)});throw new TypeError("Expected either an array or object literal.")}function h(e){for(var t=[],n=arguments.length-1;0=[].concat(r.body).shift())return j.call(this,n,i,-1,t),c.call(this,e,{reveal:!0,pristine:t});if(!n.blocked.foot&&i===[].concat(o.foot).shift()&&i<=[].concat(r.body).pop())return j.call(this,n,i,1,t),c.call(this,e,{reveal:!0,pristine:t})}}function E(e){var t=Math.abs(e);if(isNaN(t))throw new RangeError("Invalid sequence interval.");this.id=b(),this.interval=Math.max(t,16),this.members=[],this.models={},this.blocked={head:!1,foot:!1}}function d(e,i,r){var o=this;this.head=[],this.body=[],this.foot=[],f(e.members,function(e,t){var n=r.elements[e];n&&n[i]&&o.body.push(t)}),this.body.length&&f(e.members,function(e,t){var n=r.elements[e];n&&!n[i]&&(t
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | Responsive portfolio website - Bedimcode
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
27 |
30 |
31 |
32 |
35 |
36 |
37 |
40 |
41 |
42 |
45 |
46 |
47 |
50 |
51 |
52 |
55 |
56 |
57 |
58 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bedimcode/responsive-portfolio-website-patrick/08def41ca3450be01cec3f901189257c33e4c9b2/preview.png
--------------------------------------------------------------------------------