├── LICENSE
├── README.md
├── css
├── 404.css
├── cursor.css
├── design.css
├── education.css
├── event.css
├── experience.css
├── home.css
├── hover-min.css
├── preloader.css
├── project.css
├── references.css
├── research.css
├── sem_temp.css
├── style.css
├── techstack.css
└── travel_temp.css
├── design.html
├── designs
├── BMI Calculator.jpg
├── BMI_Calculator_1.png
├── Blog_dark_light.png
├── New_restTutorial.png
├── Projet_1.jpg
├── ProjetoPizza.png
├── Projeto_1_2.jpg
├── Projeto_2.jpg
├── Projeto_Chuteira.jpg
├── Resume_app.png
├── bmicalculator.png
├── coursera.png
├── hcl_domino.png
├── hero.svg
├── itil_22.png
├── javascript.png
├── mockups
│ ├── 1.svg
│ ├── 2.svg
│ ├── 3.svg
│ ├── 4.svg
│ ├── 5.svg
│ ├── 6.svg
│ ├── 7.svg
│ └── 8.svg
├── rest_tutorial.png
└── ui_ux
│ ├── 1.svg
│ ├── 2.svg
│ ├── 3.svg
│ ├── 4.svg
│ ├── 5.svg
│ ├── 6.svg
│ ├── 7.svg
│ └── 8.svg
├── education.html
├── event.html
├── event
├── image1.jpg
├── image2.jpg
├── image3.jpg
├── image4.jpg
├── image5.jpg
├── image6.jpg
├── image7.jpg
└── image8.jpg
├── experience.html
├── fonts
└── Agustina.woff
├── home
└── resume.png
├── icons
└── arrow-right
│ └── arrow-right-circle.svg
├── index.html
├── js
├── 404.js
├── app.js
├── cursor.js
├── dynamicTitle.js
├── education.js
├── event.js
├── experience.js
├── particle.js
├── particles.min.js
├── project.js
├── references.js
├── research.js
├── sem_temp.js
├── techstack.js
└── travel_temp.js
├── project-page
├── header-female.svg
├── header-male.svg
└── project-card.svg
└── projects.html
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Smaranjit Ghose, Anush Bhatia
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.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | Portfolio Template
3 | David Portfolio
4 |
5 |
6 | Portfolio Template for Developers 🚀 built with JavaScript, HTML and CSS
7 |
8 |
9 |
10 |
11 | 
12 | 
13 |
14 |
15 |
16 | ## Built With
17 |
18 |
19 | Portfolio Template for Developers portfolio which features some examples of projects.
20 | Feel free to modified into our goals and projects 🚀 :D
21 |
22 |
23 |
24 |
25 | This project was built using these technologies:
26 | - JavaScript
27 | - HTML
28 | - CSS3
29 | - VsCode
30 |
31 | ## Getting Started
32 |
33 |
34 | Clone down this repository. You will need `node.js` and `git` installed globally on your machine.
35 |
36 |
37 | ## 🛠 Installation and Setup Instructions.
38 | 1. Installation: `npm install`
39 |
40 | 2. In the project directory, you can run: `npm start`
41 |
42 |
43 |
44 |
45 | Runs the app in the development mode.\
46 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
47 | The page will reload if you make edits.
48 |
49 |
50 | #
51 |
52 |
53 | Show your support!
54 | Thank You !
55 |
56 |
57 | ### Give a ⭐ if you like this website!
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/css/404.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css2?family=Nunito:wght@300;400&display=swap");
2 |
3 | body {
4 | background: linear-gradient(to right, #02aab0, #00cdac);
5 | }
6 | .container {
7 | display: flex;
8 | justify-content: center;
9 | align-items: center;
10 | width: 100%;
11 | }
12 | svg {
13 | width: 50rem;
14 | height: auto;
15 | }
16 | #handboy {
17 | animation: swing ease-in-out 1.3s infinite alternate;
18 | transform-origin: 98% 98%;
19 | transform-box: fill-box;
20 | }
21 | #girllight {
22 | animation: swing ease-in-out 1.3s infinite alternate;
23 | transform-origin: 0% 97%;
24 | transform-box: fill-box;
25 | }
26 | #hairgirl {
27 | animation: swinghair ease-in-out 1.3s infinite alternate;
28 | transform-origin: 60% 0%;
29 | transform-box: fill-box;
30 | }
31 | #zero {
32 | transform-origin: bottom;
33 | transform-box: fill-box;
34 | }
35 | @keyframes swing {
36 | 0% {
37 | transform: rotate(10deg);
38 | }
39 | 100% {
40 | transform: rotate(-10deg);
41 | }
42 | }
43 | @keyframes swinghair {
44 | 0% {
45 | transform: rotate(6deg);
46 | }
47 | 100% {
48 | transform: rotate(-6deg);
49 | }
50 | }
51 |
52 | /* go back btn */
53 | .backbtn {
54 | display: flex;
55 | justify-content: center;
56 | align-items: center;
57 | }
58 | .btn {
59 | font-family: "Nunito", sans-serif;
60 | line-height: 0;
61 | padding: 0.8rem 1rem;
62 | border-radius: 8em;
63 | transition: 0.5s;
64 | margin-top: 2rem;
65 | color: #fff;
66 | background: #272727;
67 | box-shadow: 0px 5px 10px rgba(109, 39, 238, 0.6);
68 | }
69 | .btn span {
70 | font-family: "Nunito", sans-serif;
71 | font-weight: 700;
72 | font-size: 1.3rem;
73 | letter-spacing: 0.1rem;
74 | }
75 | .btn i {
76 | margin-left: 0.3rem;
77 | font-size: 1.2rem;
78 | transition: 0.3s;
79 | }
80 | .btn:hover {
81 | color: rgb(255, 230, 0);
82 | }
83 | .btn:hover i {
84 | transform: translateX(-4px);
85 | }
86 |
87 | /* responsiveness */
88 | @media (max-width: 550px) {
89 | svg {
90 | width: 24rem;
91 | margin-top: 10rem;
92 | margin-bottom: 4rem;
93 | }
94 | .btn {
95 | padding: 0.8rem 0.8rem;
96 | border-radius: 6em;
97 | margin-top: 1.5rem;
98 | }
99 | .btn i {
100 | margin-left: 0.2rem;
101 | font-size: 1rem;
102 | }
103 | .btn span {
104 | font-size: 1rem;
105 | }
106 | }
107 |
--------------------------------------------------------------------------------
/css/cursor.css:
--------------------------------------------------------------------------------
1 | html,
2 | html *,
3 | body,
4 | body * {
5 | cursor: none;
6 | }
7 |
8 | .cursor-dot,
9 | .cursor-dot-outline {
10 | pointer-events: none;
11 | z-index: 2;
12 | position: absolute;
13 | top: 50%;
14 | left: 50%;
15 | border-radius: 50%;
16 | opacity: 0;
17 | transform: translate(-50%, -50%);
18 | transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
19 | }
20 |
21 | .cursor-dot {
22 | width: 10px;
23 | height: 10px;
24 | background-color: #b83030f1;
25 | }
26 |
27 | .cursor-dot-outline {
28 | width: 20px;
29 | height: 20px;
30 | background-color: rgba(211, 115, 115, 0.959);
31 | }
32 |
--------------------------------------------------------------------------------
/css/design.css:
--------------------------------------------------------------------------------
1 | /* gallery section starts */
2 | .gallery_section span, .gallery_section b {
3 | font-size: 1.2rem;
4 | }
5 | .gallery_section span {
6 | color: #444;
7 | margin-bottom: 0.5rem;
8 | }
9 | .gallery_section {
10 | position: relative;
11 | margin: 0;
12 | padding: 0;
13 | display: flex;
14 | justify-content: center;
15 | background: #fbfbf0;
16 | }
17 | .gallery_section a {
18 | display: flex;
19 | flex-direction: column;
20 | justify-content: center;
21 | align-items: center;
22 | width: 100%;
23 | height: 100%;
24 | color: black;
25 | text-decoration: none;
26 | opacity: 0;
27 | border-radius: 2rem;
28 | background-color: rgba(255, 255, 255, 0.7);
29 | transition: opacity 200ms ease-out;
30 | }
31 | .staggered-grid {
32 | display: grid;
33 | width: 43.75rem;
34 | min-height: 100vh;
35 | padding: 2rem 0;
36 | grid-template-columns: repeat(2, 1fr);
37 | grid-template-rows: repeat(9, 9rem);
38 | grid-gap: 1.5rem;
39 | animation: fade-and-slide-in 2000ms 1 forwards cubic-bezier(0.17, 0.91, 0.73, 1.03);
40 | }
41 | @keyframes fade-and-slide-in {
42 | 0% {
43 | transform: translateY(-100%);
44 | opacity: 0;
45 | }
46 | 100% {
47 | transform: translateY(0);
48 | opacity: 1;
49 | }
50 | }
51 | .picture-container {
52 | background-position: center center;
53 | background-size: auto 100%;
54 | background-repeat: no-repeat;
55 | border-radius: 2rem;
56 | box-shadow: 0 0 0.75rem 0.25rem rgba(0, 0, 0, 0.1);
57 | display: flex;
58 | justify-content: center;
59 | align-items: center;
60 | }
61 | .picture-container:hover a {
62 | opacity: 1;
63 | }
64 |
65 | div.picture-container:nth-child(1) {
66 | grid-column-start: 1;
67 | grid-row-start: 1;
68 | grid-row-end: 3;
69 | }
70 | div.picture-container:nth-child(2) {
71 | grid-column-start: 2;
72 | grid-row-start: 2;
73 | grid-row-end: 4;
74 | }
75 | div.picture-container:nth-child(3) {
76 | grid-column-start: 1;
77 | grid-row-start: 3;
78 | grid-row-end: 5;
79 | }
80 | div.picture-container:nth-child(4) {
81 | grid-column-start: 2;
82 | grid-row-start: 4;
83 | grid-row-end: 6;
84 | }
85 | div.picture-container:nth-child(5) {
86 | grid-column-start: 1;
87 | grid-row-start: 5;
88 | grid-row-end: 7;
89 | }
90 | div.picture-container:nth-child(6) {
91 | grid-column-start: 2;
92 | grid-row-start: 6;
93 | grid-row-end: 8;
94 | }
95 | div.picture-container:nth-child(7) {
96 | grid-column-start: 1;
97 | grid-row-start: 7;
98 | grid-row-end: 9;
99 | }
100 | div.picture-container:nth-child(8) {
101 | grid-column-start: 2;
102 | grid-row-start: 8;
103 | grid-row-end: 10;
104 | }
105 |
106 | .item1 div.picture-container:nth-child(1) {
107 | background-image: url(../images/designs/ui_ux/1.svg);
108 | }
109 | .item1 div.picture-container:nth-child(2) {
110 | background-image: url(../images/designs/ui_ux/2.svg);
111 | }
112 | .item1 div.picture-container:nth-child(3) {
113 | background-image: url(../images/designs/ui_ux/3.svg);
114 | }
115 | .item1 div.picture-container:nth-child(4) {
116 | background-image: url(../images/designs/ui_ux/4.svg);
117 | }
118 | .item1 div.picture-container:nth-child(5) {
119 | background-image: url(../images/designs/ui_ux/5.svg);
120 | }
121 | .item1 div.picture-container:nth-child(6) {
122 | background-image: url(../images/designs/ui_ux/6.svg);
123 | }
124 | .item1 div.picture-container:nth-child(7) {
125 | background-image: url(../images/designs/ui_ux/7.svg);
126 | }
127 | .item1 div.picture-container:nth-child(8) {
128 | background-image: url(../images/designs/ui_ux/8.svg);
129 | }
130 |
131 | .item2 div.picture-container:nth-child(1) {
132 | background-image: url(../images/designs/mockups/1.svg);
133 | }
134 | .item2 div.picture-container:nth-child(2) {
135 | background-image: url(../images/designs/mockups/2.svg);
136 | }
137 | .item2 div.picture-container:nth-child(3) {
138 | background-image: url(../images/designs/mockups/3.svg);
139 | }
140 | .item2 div.picture-container:nth-child(4) {
141 | background-image: url(../images/designs/mockups/4.svg);
142 | }
143 | .item2 div.picture-container:nth-child(5) {
144 | background-image: url(../images/designs/mockups/5.svg);
145 | }
146 | .item2 div.picture-container:nth-child(6) {
147 | background-image: url(../images/designs/mockups/6.svg);
148 | }
149 | .item2 div.picture-container:nth-child(7) {
150 | background-image: url(../images/designs/mockups/7.svg);
151 | }
152 | .item2 div.picture-container:nth-child(8) {
153 | background-image: url(../images/designs/mockups/8.svg);
154 | }
155 |
156 | .container_gallery {
157 | padding-top: 5px;
158 | padding-bottom: 100px;
159 | background-color: #fbfbf0;
160 | }
161 | .container_gallery h2 {
162 | text-align: center;
163 | }
164 | .container_gallery .item1, .container_gallery .item2{
165 | margin-top: 100px;
166 | }
167 | /* gallery section ends */
168 |
169 | /*hero section starts*/
170 | .hero {
171 | background-color: white;
172 | display: flex;
173 | height: 100vh;
174 | }
175 | .hero .item1 {
176 | width:50%;
177 | background: url('../images/designs/hero.svg');
178 | background-repeat: no-repeat;
179 | background-position: 20% 35%;
180 | background-size: 350px;
181 | background-attachment: fixed;
182 | }
183 | .hero .item2 {
184 | background-color: white; /* rgb(245, 225, 245) */
185 | width: 50%;
186 | display: flex;
187 | flex-direction: column;
188 | align-items: center;
189 | justify-content: center;
190 | font-weight: bold;
191 | color: #343a40;
192 | }
193 | .hero .item2 span {
194 | color: rgb(121, 59, 221);
195 | }
196 | .item2 h1 {
197 | font-weight: bold;
198 | font-size: 33px;
199 | }
200 | .item2 p {
201 | letter-spacing: 10px;
202 | color: rgb(17, 16, 16);
203 | }
204 |
205 | @media only screen and (max-width: 950px) {
206 | .hero .item1 {
207 | background-size: 300px;
208 | background-position: 10% 35%;
209 | }
210 | .item2 p {
211 | letter-spacing: 5px;
212 | }
213 | }
214 | @media only screen and (max-width: 700px) {
215 |
216 | .container_gallery {
217 | padding-top: 5px;
218 | }
219 | .container_gallery .item1, .container_gallery .item2{
220 | margin-top: 0px;
221 | }
222 |
223 | .hero {
224 | flex-direction: column;
225 | justify-content: space-evenly;
226 | height: 50vh;
227 | }
228 | .hero .item1 {
229 | background-position: 55% 50%;
230 | background-size: 172px;
231 | height: 50%;
232 | width: 100%;
233 | background-attachment: unset;
234 | }
235 | .hero .item2 {
236 | width: 100%;
237 | }
238 | .item2 p {
239 | letter-spacing: 0px;
240 | }
241 | }
242 | /*hero section ends*/
243 |
--------------------------------------------------------------------------------
/css/event.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | font-family: "Poppins", sans-serif;
6 | }
7 |
8 | /* light mode */
9 | html[data-theme="light"] {
10 | --bg-color: #ecf0f3;
11 | --shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
12 | --border: 1px solid #ecf0f3;
13 | }
14 | /* dark mode */
15 | html[data-theme="dark"] {
16 | --bg-color: #272727;
17 | --shadow: 0 4px 8px 0 rgba(104, 102, 102, 0.2);
18 | --border: none;
19 | }
20 |
21 | .image-slider .swiper-slide {
22 | position: relative;
23 | display: grid;
24 | align-self: center;
25 | overflow: hidden;
26 | }
27 | .image-slider .swiper-slide .wrapper {
28 | margin-top: 340px;
29 | margin-bottom: 60px;
30 | }
31 | .image-slider .swiper-slide .img-container {
32 | position: absolute;
33 | top: 0;
34 | left: 0;
35 | right: 0;
36 | margin: auto;
37 | display: -webkit-box;
38 | display: -ms-flexbox;
39 | display: flex;
40 | -webkit-box-pack: center;
41 | -ms-flex-pack: center;
42 | justify-content: center;
43 | -webkit-box-align: center;
44 | -ms-flex-align: center;
45 | align-items: center;
46 | height: 95%;
47 | }
48 | .image-slider .swiper-slide .img-container img {
49 | width: 80%;
50 | height: 100%;
51 | }
52 | .image-slider .swiper-slide .title {
53 | font-size: 3rem;
54 | color: var(--text-color);
55 | text-transform: uppercase;
56 | }
57 | .controller,
58 | .controller1 {
59 | position: absolute;
60 | right: 11%;
61 | border-radius: 50%;
62 | width: 44px;
63 | display: flex;
64 | align-items: center;
65 | justify-content: center;
66 | }
67 | .controller1 {
68 | left: 11%;
69 | }
70 | .swiper-container
71 | .image-slider
72 | .swiper-button-next
73 | .swiper-nav-ctrl
74 | .prev-ctrl {
75 | position: absolute !important;
76 | left: 14% !important;
77 | border-radius: 50%;
78 | width: 44px !important;
79 | padding-right: 4px !important;
80 | display: flex;
81 | align-items: center;
82 | justify-content: center;
83 | }
84 | .controller :hover {
85 | background-color: rgba(0, 0, 0, 0.5);
86 | border-radius: 50%;
87 | width: 44px;
88 | height: 44px;
89 |
90 | display: flex;
91 | align-items: center;
92 | justify-content: center;
93 | }
94 | .controller1 :hover {
95 | background-color: rgba(0, 0, 0, 0.5);
96 | border-radius: 50%;
97 | width: 44px;
98 | height: 44px;
99 | display: flex;
100 | align-items: center;
101 | justify-content: center;
102 | }
103 | .swiper-button-next .swiper-nav-ctrl :hover {
104 | background-color: rgba(0, 0, 0, 0.5);
105 | }
106 | /* for text */
107 | .content {
108 | display: flex;
109 | justify-content: end;
110 | color: #fff;
111 | }
112 | .swiper-button-next,
113 | .swiper-container-rtl .swiper-button-prev {
114 | background-image: none;
115 | }
116 | .swiper-button-prev,
117 | .swiper-container-rtl .swiper-button-next {
118 | background-image: none;
119 | }
120 | .image-slider .ctrl:hover {
121 | background-color: rgba(0, 0, 0, 0.5);
122 | }
123 | .parallax-slider .swiper-nav-ctrl.next-ctrl {
124 | right: 0;
125 | }
126 | .parallax-slider .swiper-nav-ctrl.prev-ctrl {
127 | left: 0;
128 | }
129 | .image-slider .text-wrapper {
130 | overflow: hidden;
131 | width: 100%;
132 | display: -webkit-inline-box;
133 | display: -ms-inline-flexbox;
134 | display: inline-flex;
135 | }
136 | .image-slider .text-wrapper .text-inner {
137 | -webkit-transform: translateY(100%);
138 | color: var(--text-color);
139 | transform: translateY(100%);
140 | -webkit-transition: all ease 0.5s;
141 | transition: all ease 0.5s;
142 | }
143 | .image-slider .swiper-slide-active.active .text-inner {
144 | -webkit-transform: translateY(0);
145 | transform: translateY(0);
146 | opacity: 1;
147 | }
148 | .image-slider .swiper-slide.active .sub-title .text-inner {
149 | -webkit-transition-delay: 0.05s;
150 | transition-delay: 0.05s;
151 | }
152 | .image-slider .swiper-slide.active .title .text-inner {
153 | -webkit-transition-delay: 0.1s;
154 | transition-delay: 0.1s;
155 | }
156 | .image-slider .swiper-slide.active .description .text-inner {
157 | -webkit-transition-delay: 0.15s;
158 | transition-delay: 0.15s;
159 | }
160 | /* positioning */
161 | .container {
162 | position: relative;
163 | }
164 | .row {
165 | display: flex;
166 | -ms-flex-wrap: wrap;
167 | flex-wrap: wrap;
168 | margin-right: -15px;
169 | margin-left: -15px;
170 | }
171 | .event_svg {
172 | height: 100%;
173 | }
174 | .arrow_contain {
175 | width: 85%;
176 | }
177 | .root_block {
178 | margin-top: 8%;
179 | }
180 | /* Responsiveness*/
181 | @media only screen and (max-width: 1000px) {
182 | .heading {
183 | margin-top: 10%;
184 | }
185 | .root_block {
186 | margin-top: 12%;
187 | }
188 | .image-slider .text-wrapper .text-inner {
189 | font-size: 45px;
190 | }
191 | }
192 | @media only screen and (max-width: 770px) {
193 | .image-slider .ctrl {
194 | height: 50px;
195 | width: 50px;
196 | }
197 | .image-slider .text-wrapper .text-inner {
198 | font-size: 37px;
199 | }
200 | .image-slider .swiper-slide .wrapper {
201 | margin-top: 330px;
202 | margin-bottom: 70px;
203 | }
204 | .controller {
205 | right: 5%;
206 | }
207 | .controller1 {
208 | left: 5%;
209 | }
210 | .controller,
211 | .controller1 {
212 | width: 36px;
213 | height: 36px;
214 | }
215 | .content {
216 | justify-content: center;
217 | }
218 | .root_block {
219 | margin-top: 17%;
220 | }
221 | .arrow_contain {
222 | width: 100%;
223 | }
224 |
225 | .image-slider .swiper-slide .img-container img {
226 | width: 100%;
227 | height: 80%;
228 | }
229 | .block_two {
230 | height: 80% !important;
231 | }
232 | .controls,
233 | .controls1 {
234 | bottom: 0;
235 | }
236 | }
237 | @media only screen and (max-width: 690px) {
238 | .root_block {
239 | height: 85% !important;
240 | margin-top: 22%;
241 | }
242 | .image-slider .swiper-slide .wrapper {
243 | margin-top: 330px;
244 | margin-bottom: 70px;
245 | }
246 | .content {
247 | justify-content: center;
248 | }
249 | .image-slider .text-wrapper .text-inner {
250 | font-size: 35px;
251 | }
252 | .controller,
253 | .controller1 {
254 | width: 30px;
255 | height: 30px;
256 | }
257 | .controller {
258 | right: 5%;
259 | }
260 | .controller1 {
261 | left: 5%;
262 | }
263 | }
264 | @media only screen and (max-width: 500px) {
265 | .root_block {
266 | height: 70% !important;
267 | margin-top: 32%;
268 | }
269 | .image-slider .swiper-slide .title {
270 | font-size: 3rem !important;
271 | }
272 | .heading {
273 | margin-top: 8%;
274 | margin-bottom: 0% !important;
275 | }
276 | .image-slider .text-wrapper .text-inner {
277 | font-size: 30px;
278 | }
279 | }
280 |
--------------------------------------------------------------------------------
/css/preloader.css:
--------------------------------------------------------------------------------
1 | /* preloader */
2 | .no-scroll-preload {
3 | overflow: hidden;
4 | height: auto;
5 | }
6 |
7 | :root {
8 | --atom-size: 400px;
9 | --atom-color-hex: #0d00ff;
10 | --atom-color-rgb: 217,217,217;
11 | --nucleus-size: calc(var(--atom-size) / 5);
12 | --electron-color-hex: #36C5F0;
13 | --electron-size : calc(var(--atom-size) / 25);
14 | --electron-orbit-size : calc(var(--atom-size) / 2.5);
15 | --electron-speed : 1.2s;
16 | --electron-speed-alpha : 1s;
17 | --electron-speed-omega : .8s;
18 | }
19 |
20 | .loader-container {
21 | position: fixed;
22 | top: 0;
23 | left: 0;
24 | background-color: #202124;
25 | height: 100%;
26 | width: 100%;
27 | display: flex;
28 | justify-content: center;
29 | align-items: center;
30 | z-index: 999999;
31 | color: white;
32 | }
33 |
34 | /* Atom */
35 | .atom {
36 | position: relative;
37 | justify-content: center;
38 | align-items: center;
39 | width: var(--atom-size);
40 | height: var(--atom-size);
41 | animation: 8s atom infinite cubic-bezier(1, .25, 0, .75);
42 | }
43 | @keyframes atom{
44 | 0% {
45 | transform: rotate(0deg) scale(1);
46 | }
47 | 12.5% {
48 | transform: rotate(-45deg) scale(.9);
49 | }
50 | 25% {
51 | transform: rotate(-90deg) scale(1);
52 | }
53 | 37.5% {
54 | transform: rotate(-135deg) scale(.9);
55 | }
56 | 50% {
57 | transform: rotate(-180deg) scale(1);
58 | }
59 | 62.5% {
60 | transform: rotate(-225deg) scale(.9);
61 | }
62 | 75% {
63 | transform: rotate(-270deg) scale(1);
64 | }
65 | 87.5% {
66 | transform: rotate(-315deg) scale(.9);
67 | }
68 | 100% {
69 | transform: rotate(-360deg) scale(1);
70 | }
71 | }
72 |
73 | /* Nucleus */
74 | .atom::before {
75 | content: '';
76 | display: block;
77 | position: absolute;
78 | top: 50%;
79 | left: 50%;
80 | width: var(--nucleus-size);
81 | height: var(--nucleus-size);
82 | margin-top: calc(var(--nucleus-size) / -2);
83 | margin-left: calc(var(--nucleus-size) / -2);
84 | background: var(--electron-color-hex); /* var(--atom-color-hex); */
85 | border-radius: 100%;
86 | box-shadow: 0 0 3px 0 var(--atom-color-hex);
87 | animation: 3s nucleus infinite cubic-bezier(.65, 0, .35, 1);
88 | }
89 | @keyframes nucleus {
90 | 0% { transform: scale(1); }
91 | 25% { transform: scale(.9); }
92 | 50% { transform: scale(1); }
93 | 75% { transform: scale(.85); }
94 | 100% { transform: scale(1); }
95 | }
96 |
97 | /* Electron Orbit */
98 | .atom > [class^="electron"] {
99 | border-top: solid rgba(var(--atom-color-rgb), .5) 1px;
100 | border-right: solid rgba(var(--atom-color-rgb), .35) 2px;
101 | border-bottom: solid rgba(var(--atom-color-rgb), .2) 4px;
102 | border-left: solid rgba(var(--atom-color-rgb), 0) 2px;
103 | border-radius: 100%;
104 | width: 100%;
105 | height: var(--electron-orbit-size);
106 | position: absolute;
107 | top: 50%;
108 | margin-top: calc(var(--electron-orbit-size) / -2);
109 | animation: var(--electron-speed) electron-orbit infinite linear;
110 | }
111 | .atom > .electron-alpha {
112 | transform: rotate(60deg);
113 | animation: var(--electron-speed-alpha) electron-orbit infinite linear;
114 | }
115 | .atom > .electron-omega {
116 | transform: rotate(-60deg);
117 | animation: var(--electron-speed-omega) electron-orbit infinite linear;
118 | }
119 | @keyframes electron-orbit {
120 | 0% {
121 | border-top: solid rgba(var(--atom-color-rgb), 1) 5px;
122 | border-right: solid rgba(var(--atom-color-rgb), 1) 7px;
123 | border-bottom: solid rgba(var(--atom-color-rgb), .2) 10px;
124 | border-left: solid rgba(var(--atom-color-rgb), 0) 10px;
125 | }
126 | 25% {
127 | border-top: solid rgba(var(--atom-color-rgb), .35) 5px;
128 | border-right: solid rgba(var(--atom-color-rgb), .2) 7px;
129 | border-bottom: solid rgba(var(--atom-color-rgb), 0) 10px;
130 | border-left: solid rgba(var(--atom-color-rgb), .5) 10px;
131 | }
132 | 50% {
133 | border-top: solid rgba(var(--atom-color-rgb), .2) 5px;
134 | border-right: solid rgba(var(--atom-color-rgb), 0) 7px;
135 | border-bottom: solid rgba(var(--atom-color-rgb), .5) 10px;
136 | border-left: solid rgba(var(--atom-color-rgb), .35) 10px;
137 | }
138 | 75% {
139 | border-top: solid rgba(var(--atom-color-rgb), 0) 5px;
140 | border-right: solid rgba(var(--atom-color-rgb), .5) 7px;
141 | border-bottom: solid rgba(var(--atom-color-rgb), .35) 10px;
142 | border-left: solid rgba(var(--atom-color-rgb), .2) 10px;
143 | }
144 | 100% {
145 | border-top: solid rgba(var(--atom-color-rgb), 1) 5px;
146 | border-right: solid rgba(var(--atom-color-rgb), 1) 7px;
147 | border-bottom: solid rgba(var(--atom-color-rgb), 1) 10px;
148 | border-left: solid rgba(var(--atom-color-rgb), 1) 10px;
149 | }
150 | }
151 |
152 | /* Electron Unit */
153 | .atom [class^="electron"]::after {
154 | content: '';
155 | display: block;
156 | width: var(--electron-size);
157 | height: var(--electron-size);
158 | border-radius: 50%;
159 | margin-top: calc(var(--electron-size) / -2);
160 | position: absolute;
161 | top: 50%;
162 | left: calc(var(--electron-size) / -1);
163 | transform: scale(1);
164 | animation: calc(var(--electron-speed) * 2) electron infinite ease-in-out;
165 | }
166 |
167 | .atom .electron::after { background: #ECB22E;}
168 | .atom .electron-alpha::after {
169 | animation: calc(var(--electron-speed-alpha) * 2) electron infinite ease-in-out;
170 | background: #E01E5A;
171 | }
172 | .atom .electron-omega::after {
173 | animation: calc(var(--electron-speed-omega) * 2) electron infinite ease-in-out;
174 | background: #2EB67D;
175 | }
176 | @keyframes electron {
177 | 0% {
178 | left: calc(var(--electron-size) / -1);
179 | transform: scale(1);
180 | }
181 | 12.5% {
182 | top: 100%;
183 | transform: scale(1.5);
184 | }
185 | 25% {
186 | left: 100%;
187 | transform: scale(1);
188 | }
189 | 37.5% {
190 | top: 0%;
191 | transform: scale(.25);
192 | }
193 | 50% {
194 | left: calc(var(--electron-size) / -1);
195 | transform: scale(1);
196 | }
197 | 62.5% {
198 | top: 100%;
199 | transform: scale(1.5);
200 | }
201 | 75% {
202 | left: 100%;
203 | transform: scale(1);
204 | }
205 | 87.5% {
206 | top: 0%;
207 | transform: scale(.25);
208 | }
209 | 100% {
210 | left: calc(var(--electron-size) / -1);
211 | transform: scale(1);
212 | }
213 | }
214 |
215 | @keyframes fadeInAnimation {
216 | 0% {
217 | opacity: 0;
218 | }
219 | 100% {
220 | opacity: 1;
221 | }
222 | }
223 |
224 | .disappear {
225 | animation: vanish 1s forwards;
226 | }
227 |
228 | @keyframes vanish {
229 | 100% {
230 | opacity: 1;
231 | visibility: hidden;
232 | }
233 | }
234 |
--------------------------------------------------------------------------------
/css/sem_temp.css:
--------------------------------------------------------------------------------
1 | html,
2 | body {
3 | width: 100vw;
4 | height: 100vh;
5 | overflow: hidden !important;
6 | }
7 |
8 | .sem_temp_div {
9 | position: absolute;
10 | height: 100vh !important;
11 | width: 100vw !important;
12 | top: 0;
13 | left: 0;
14 | overflow: hidden;
15 | animation: rotateHue infinite 20s linear;
16 | animation-delay: 0.625s;
17 | }
18 |
19 | @keyframes rotateHue {
20 | 0% {
21 | filter: hue-rotate(0deg);
22 | }
23 |
24 | 20% {
25 | filter: hue-rotate(0deg);
26 | }
27 |
28 | 25% {
29 | filter: hue-rotate(90deg);
30 | }
31 |
32 | 45% {
33 | filter: hue-rotate(90deg);
34 | }
35 |
36 | 50% {
37 | filter: hue-rotate(180deg);
38 | }
39 |
40 | 70% {
41 | filter: hue-rotate(180deg);
42 | }
43 |
44 | 75% {
45 | filter: hue-rotate(270deg);
46 | }
47 |
48 | 95% {
49 | filter: hue-rotate(270deg);
50 | }
51 |
52 | 100% {
53 | filter: hue-rotate(360deg);
54 | }
55 | }
56 |
57 | .sem_temp_shutters {
58 | position: absolute;
59 | height: 150vmax;
60 | width: 150vmax;
61 | left: calc(50% - 75vmax);
62 | top: calc(50% - 75vmax);
63 | pointer-events: none;
64 | z-index: 2;
65 | animation: rotateFrame 10s linear infinite;
66 | }
67 |
68 | @keyframes rotateFrame {
69 | 0% {
70 | transform: rotate(0deg);
71 | }
72 | 100% {
73 | transform: rotate(180deg);
74 | }
75 | }
76 |
77 | .sem_temp_shutters:before, .sem_temp_shutters:after {
78 | content: '';
79 | position: absolute;
80 | height: 100%;
81 | width: 100%;
82 | left: 50%;
83 | transform: translate3d(-50%, 0, 0);
84 | background-color: #b3401a;
85 | pointer-events: auto;
86 | }
87 |
88 | .sem_temp_shutters:before {
89 | bottom: 50%;
90 | animation: openTop 5s infinite;
91 | }
92 |
93 | @keyframes openTop {
94 | 0% {
95 | transform: translate3d(-50%, 0, 0);
96 | animation-timing-function: cubic-bezier(0.8, 0, 0.1, 1);
97 | }
98 | 40% {
99 | transform: translate3d(-50%, -65vmax, 0);
100 | animation-timing-functon: cubic-bezier(0.6, 0.04, 0.98, 0.335);
101 | }
102 | 70% {
103 | transform: translate3d(-50%, -65vmax, 0);
104 | animation-timing-functon: cubic-bezier(0.6, 0.04, 0.98, 0.335);
105 | }
106 | 100% {
107 | transform: translate3d(-50%, 0, 0);
108 | animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.335);
109 | }
110 | }
111 |
112 | .sem_temp_shutters:after {
113 | top: 50%;
114 | animation: openBottom 5s infinite;
115 | }
116 |
117 | @keyframes openBottom {
118 | 0% {
119 | transform: translate3d(-50%, 0, 0);
120 | animation-timing-function: cubic-bezier(0.8, 0, 0.1, 1);
121 | }
122 | 40% {
123 | transform: translate3d(-50%, 65vmax, 0);
124 | animation-timing-functon: cubic-bezier(0.6, 0.04, 0.98, 0.335);
125 | }
126 | 70% {
127 | transform: translate3d(-50%, 65vmax, 0);
128 | animation-timing-functon: cubic-bezier(0.6, 0.04, 0.98, 0.335);
129 | }
130 | 100% {
131 | transform: translate3d(-50%, 0, 0);
132 | animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.335);
133 | }
134 | }
135 |
136 | .sem_temp_slides {
137 | position: absolute;
138 | height: 100%;
139 | width: 100%;
140 | top: 0;
141 | left: 0;
142 | background-color: #b3401a;
143 | }
144 |
145 | .sem_temp_slide {
146 | position: absolute;
147 | height: 100%;
148 | width: 100%;
149 | opacity: 0;
150 | animation: showHideSlide infinite 20s steps(1);
151 | }
152 |
153 | @keyframes showHideSlide {
154 | 0% {
155 | opacity: 1;
156 | pointer-events: auto;
157 | z-index: 1;
158 | }
159 | 25% {
160 | opacity: 0;
161 | pointer-events: none;
162 | z-index: -1;
163 | }
164 | 100% {
165 | opacity: 0;
166 | pointer-events: none;
167 | z-index: -1;
168 | }
169 | }
170 |
171 | .sem_temp_slide:nth-child(1) {
172 | animation-delay: 0s;
173 | }
174 | .sem_temp_slide:nth-child(2) {
175 | animation-delay: 5s;
176 | }
177 | .sem_temp_slide:nth-child(3) {
178 | animation-delay: 10s;
179 |
180 | }
181 |
182 | .sem_temp_slide:nth-child(4) {
183 | animation-delay: 15s;
184 | }
185 |
186 | .sem_temp_slide:nth-child(5) {
187 | animation-delay: 20s;
188 | }
189 | .sem_temp_slide:nth-child(5) {
190 | animation-delay: 25s;
191 | }
192 |
193 | .sem_temp_slideBg {
194 | position: relative;
195 | height: 100%;
196 | width: 100%;
197 | top: 0;
198 | left: 0;
199 | background-size: cover;
200 | background-position: center;
201 | background-color: #b3401a;
202 | background-blend-mode: hard-light;
203 | opacity: 1;
204 | z-index: -1;
205 | animation: bgInOut 5s infinite;
206 | }
207 |
208 | @keyframes bgInOut {
209 | 0% {
210 | transform: rotate(-45deg) scale(1.1);
211 | animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
212 | }
213 | 33% {
214 | transform: rotate(0deg);
215 | }
216 | 50% {
217 | transform: rotate(0deg);
218 | }
219 | 66% {
220 | transform: rotate(0deg);
221 | animation-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
222 | }
223 | 100% {
224 | transform: rotate(45deg) scale(0.9);
225 | }
226 | }
227 |
228 | .sem_temp_slideContent {
229 | position: absolute;
230 | top: 50%;
231 | left: 50%;
232 | transform: translate3d(-50%, -50%, 0);
233 | color: white;
234 | font-family: 'Abril Fatface', sans-serif;
235 | line-height: 0.8;
236 | letter-spacing: -0.025em;
237 | z-index: 2;
238 | opacity: 1;
239 | text-shadow: 0 0 0.5em rgba(179, 64, 26, 0.25);
240 | mix-blend-mode: lighten;
241 | }
242 |
243 | .sem_temp_slideContent span {
244 | display: block;
245 | font-size: 15vmin;
246 | }
247 |
248 | body {
249 | overflow-y: hidden !important;
250 | }
--------------------------------------------------------------------------------
/css/techstack.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css?family=Fira+Sans:400,500,600,700,800");
2 | @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300&display=swap");
3 |
4 | html[light-mode="light"] {
5 | --bg1-color: rgba(0, 0, 0, 0);
6 | --text-color: #6c757d;
7 | --shadow-col1: #babdc2;
8 | --shadow-col2: #ffffff;
9 | --meta-col: #444;
10 | --head-col: black;
11 | }
12 |
13 | html[light-mode="dark"] {
14 | --bg1-color: #272727;
15 | --text-color: #fff;
16 | --bg-txt-img: linear-gradient(315deg, #d5adc8 0%, #ff8489 74%);
17 | --txt-fill: transparent;
18 | --shadow-col1: #191919;
19 | --shadow-col2: #1d1d1d;
20 | --meta-col: rgb(155, 149, 149);
21 | --head-col: #fff;
22 | }
23 |
24 | html {
25 | overflow-x: hidden;
26 | }
27 |
28 |
29 | /* .main{
30 | width: 100%;
31 | padding-left: 4rem;
32 | padding-right: 4rem;
33 | margin: 0 auto;
34 | } */
35 |
36 | /* Tech Stack Cards */
37 | .techstack-box{
38 | /* position: absolute; */
39 | /* left: 0; */
40 | display: flex;
41 | flex-direction: row;
42 | flex-wrap: wrap;
43 | overflow: hidden;
44 | justify-content: center;
45 | }
46 | .tech_card{
47 | display: flex;
48 | flex-direction: column;
49 | justify-content: center;
50 | align-items: center;
51 | border: none;
52 | border-radius: 13px;
53 | background-color: rgb(65, 62, 65);
54 | width: 45.7vw;
55 | margin:3.5em 30px;
56 | padding: 20px;
57 | box-shadow: 0px 0px 15px 2px black;
58 | }
59 | html[light-mode="light"] .tech_card{
60 | background-color: white;
61 | color: #303030;
62 | box-shadow: 0px 0px 10px #303030;
63 | }
64 | .tech_card img{
65 | width: 120px;
66 | height: 120px;
67 | /* border: 1px solid black; */
68 | /* box-shadow: 8px 8px 7px black; */
69 | border-radius: 8px;
70 | margin-bottom: 8px;
71 | padding: 20px;
72 |
73 | }
74 | .tech_card h4{
75 | font-weight: bold;
76 | font-family: cursive;
77 | }
78 | .main-heading{
79 | font-weight: 700;
80 |
81 | }
82 | .main-heading .my_techstacks{
83 | color: #4e00bb;
84 | text-shadow: 0px 0px 15px #4e00bb;
85 | }
86 | html[light-mode="light"] .main-heading .my_techstacks{
87 | text-shadow: none !important;
88 | }
89 | .skill-head{
90 | font-size: 2rem;
91 | font-weight: 700;
92 | }
93 | .skill-head .my_skill{
94 | color: #4e00bb;
95 | text-shadow: 0px 0px 15px #4e00bb;
96 | }
97 | html[light-mode="light"] .skill-head .my_skill{
98 | text-shadow: none !important;
99 | }
100 | .tech_card .card_img img{
101 | animation: scale_anime 2s infinite ease-in-out;
102 | }
103 | html[light-mode="light"] .tech_card img{
104 | animation: scale_anime_dark 2s infinite ease-in-out;
105 |
106 | }
107 | @keyframes scale_anime_dark {
108 | 0%{
109 | transform: scale(1);
110 | }
111 | 50%{
112 | transform: scale(1.15);
113 | }100%{
114 | transform: scale(1);
115 | }
116 | }
117 | @keyframes scale_anime {
118 | 0%{
119 | transform: scale(1);
120 | }
121 | 50%{
122 | transform: scale(1.15);
123 | }100%{
124 | transform: scale(1);
125 | }
126 | }
127 | #svg_css_text {
128 | animation: translate_forward 2s infinite ease-in-out;
129 | }
130 |
131 | #svg_html_text {
132 | animation: translate_backward 2s infinite ease-in-out;
133 | }
134 |
135 | @keyframes translate_forward {
136 | 0% {
137 | transform: translateX(12px);
138 | }
139 |
140 | 50% {
141 | transform: translateX(0px);
142 | }
143 |
144 | 100% {
145 | transform: translateX(12px);
146 | }
147 | }
148 |
149 | @keyframes translate_backward {
150 | 0% {
151 | transform: translateX(0px);
152 | }
153 |
154 | 50% {
155 | transform: translateX(12px);
156 | }
157 |
158 | 100% {
159 | transform: translateX(0px);
160 | }
161 | }
162 |
163 | .techstacks_icons {
164 | align-items: center;
165 | justify-content: center;
166 | }
167 |
168 | .techstacks_icons .techstack_icon {
169 | padding: 5px 10px;
170 |
171 | }
172 |
173 | .techstacks_icons .techstack_icon i {
174 | font-size: 2.5rem;
175 | opacity: .7;
176 | }
177 | html[light-mode="light"] .techstacks_icons .techstack_icon i {
178 | font-size: 2.5rem;
179 | opacity: 1;
180 | }
181 | div.techstack_icon>i:hover {
182 | opacity: 1;
183 | transition: opacity .2s linear;
184 | transform: scale(1.3);
185 | }
186 |
187 | div.html_icon.techstack_icon>i.fa-html5 {
188 | /* color: #FF5733 !important; */
189 | display: inline-block;
190 | background: linear-gradient(-90deg, #F06529 50%, #E34C26 50%);
191 | -webkit-background-clip: text;
192 | -webkit-text-fill-color: transparent;
193 | -moz-background-clip: text;
194 | -moz-text-fill-color: transparent;
195 | }
196 |
197 | div.techstack_icon>i.fa-css3-alt {
198 | /* color: #2965f1 !important; */
199 | display: inline-block;
200 | background: linear-gradient(-90deg, #264de4 50%, #2965f1 50%);
201 | -webkit-background-clip: text;
202 | -webkit-text-fill-color: transparent;
203 | -moz-background-clip: text;
204 | -moz-text-fill-color: transparent;
205 | }
206 |
207 | div.techstack_icon>i.fa-bootstrap {
208 | color: #ad428d !important;
209 | }
210 |
211 | div.techstack_icon>i.fa-js-square {
212 | color: #F0DB4F;
213 | }
214 |
215 | div.techstack_icon>i.fa-python {
216 | display: inline-block;
217 | background: linear-gradient(-120deg, #ffde57, #4584b6, #646464);
218 | -webkit-background-clip: text;
219 | -webkit-text-fill-color: transparent;
220 | -moz-background-clip: text;
221 | -moz-text-fill-color: transparent;
222 | }
223 |
224 | div.techstack_icon>i.fa-react {
225 | color: #61DBFB;
226 | }
227 |
228 | div.techstack_icon>i.fa-git-alt {
229 | color: #F1502F;
230 | }
231 |
232 | div.techstack_icon>i.fa-node {
233 | color: #3C873A;
234 | }
235 |
236 | div.techstack_icon>i.fa-cuttlefish {
237 | color: #044F88;
238 | }
239 | #box1{
240 | animation: slide-down 8s infinite linear;
241 | }
242 | #box3{
243 | animation: slide-up 8s 4s infinite linear;
244 | }
245 | @keyframes slide-down {
246 | 0%{
247 | transform: translate(0px,0px);
248 | }
249 | 50%{
250 | transform: translate(212px, 61px)
251 | }
252 | 100%{
253 | transform: translate(0px,0px);
254 | }
255 |
256 | }
257 | @keyframes slide-up {
258 | 0%{
259 | transform: translate(-212px, -60px);
260 | }
261 | 50%{
262 | transform: translate(0px,0px);
263 | }
264 | 100%{
265 | transform: translate(-212px, -60px);
266 | }
267 |
268 | }
269 |
270 | .project_item{
271 | margin-top: 4px;
272 | }
273 | .project_item a{
274 | color: #bb86c9;
275 | text-decoration: none;
276 | }
277 | html[light-mode="light"] .project_item a{
278 | color: #4e00bb ;
279 | text-decoration: none;
280 | }
281 | @media (max-width:1180px){
282 | .tech_card{
283 | width: 45vw;
284 | }
285 | .techstack-box{
286 | justify-content: center !important;
287 | }
288 | }
289 | @media (max-width:1000px){
290 | .tech_card{
291 | width: 90vw;
292 | }
293 | }
294 | @media (max-width:450px){
295 | .skill-head{
296 | margin-top: 10px;
297 | font-size: 22px;
298 | }
299 | .main-heading{
300 | font-size: 25px;
301 | }
302 | .techstacks_icons .techstack_icon i {
303 | font-size: 1.8rem;
304 | }
305 | .pre-heading{
306 | font-size: 13px;
307 | }
308 | }
309 | @media (max-width:350px){
310 | .techstack-box{
311 | justify-content: center;
312 | }
313 | .tech_card{
314 | width: 95vw;
315 | }
316 | }
--------------------------------------------------------------------------------
/css/travel_temp.css:
--------------------------------------------------------------------------------
1 | /* Travel Vlog Summary section starts */
2 | *, *:before, *:after {
3 | box-sizing: border-box;
4 | margin: 0;
5 | padding: 0;
6 | }
7 | body {
8 | background: whitesmoke; /* #1f1f1f */
9 | font-family: 'Open Sans', Helvetica, Arial, sans-serif;
10 | }
11 | .cont {
12 | position: relative;
13 | overflow: hidden;
14 | height: 70vh; /* 100vh */
15 | padding: 80px 60px;
16 | }
17 | .cont__inner {
18 | position: relative;
19 | height: 100%;
20 | }
21 | .cont__inner:hover .el__bg:after {
22 | opacity: 1;
23 | }
24 | .el {
25 | position: absolute;
26 | left: 0;
27 | top: 0;
28 | width: 19.2%;
29 | height: 90%;
30 | background: #252525;
31 | transition: transform 0.6s 0.7s, width 0.7s, opacity 0.6s 0.7s, z-index 0s 1.3s;
32 | will-change: transform, width, opacity;
33 | }
34 | .el:not(.s--active) {
35 | cursor: pointer;
36 | }
37 | .el__overflow {
38 | overflow: hidden;
39 | position: relative;
40 | height: 100%;
41 | }
42 | .el__inner {
43 | overflow: hidden;
44 | position: relative;
45 | height: 100%;
46 | transition: transform 1s;
47 | }
48 | .cont.s--inactive .el__inner {
49 | transform: translate3d(0, 100%, 0);
50 | }
51 | .el__bg {
52 | position: relative;
53 | width: calc(100vw - 140px);
54 | height: 100%;
55 | transition: transform 0.6s 0.7s;
56 | will-change: transform;
57 | }
58 | .el__bg:before {
59 | content: "";
60 | position: absolute;
61 | left: 0;
62 | top: -5%;
63 | width: 100%;
64 | height: 110%;
65 | background-size: 100% 100%;
66 | background-position: center center;
67 | transition: transform 1s;
68 | transform: translate3d(0, 0, 0) scale(1);
69 | }
70 | .cont.s--inactive .el__bg:before {
71 | transform: translate3d(0, -100%, 0) scale(1.2);
72 | }
73 | .el.s--active .el__bg:before {
74 | transition: transform 0.8s;
75 | }
76 | .el__bg:after {
77 | content: "";
78 | z-index: 1;
79 | position: absolute;
80 | left: 0;
81 | top: 0;
82 | width: 100%;
83 | height: 100%;
84 | background: rgba(0, 0, 0, 0.3);
85 | opacity: 0;
86 | transition: opacity 0.5s;
87 | }
88 | .cont.s--el-active .el__bg:after {
89 | transition: opacity 0.5s 1.4s;
90 | opacity: 1 !important;
91 | }
92 | .el__preview-cont {
93 | z-index: 2;
94 | display: flex;
95 | justify-content: center;
96 | align-items: center;
97 | position: absolute;
98 | left: 0;
99 | top: 0;
100 | width: 100%;
101 | height: 100%;
102 | transition: all 0.3s 1.2s;
103 | }
104 | .cont.s--inactive .el__preview-cont {
105 | opacity: 0;
106 | transform: translateY(10px);
107 | }
108 | .cont.s--el-active .el__preview-cont {
109 | opacity: 0;
110 | transform: translateY(30px);
111 | transition: all 0.5s;
112 | }
113 | .el__heading {
114 | color: #fff;
115 | text-transform: uppercase;
116 | font-size: 18px;
117 | }
118 | .el__content {
119 | z-index: -1;
120 | position: absolute;
121 | left: 0;
122 | top: 0;
123 | width: 100%;
124 | height: 100%;
125 | padding: 30px;
126 | opacity: 0;
127 | pointer-events: none;
128 | transition: all 0.1s;
129 | }
130 | .el.s--active .el__content {
131 | z-index: 2;
132 | opacity: 1;
133 | pointer-events: auto;
134 | transition: all 0.5s 1.4s;
135 | }
136 | .el__text {
137 | text-transform: uppercase;
138 | font-size: 40px;
139 | color: #fff;
140 | }
141 | .el__close-btn {
142 | z-index: -1;
143 | position: absolute;
144 | right: 10px;
145 | top: 10px;
146 | width: 60px;
147 | height: 60px;
148 | opacity: 0;
149 | pointer-events: none;
150 | transition: all 0s 0.45s;
151 | cursor: pointer;
152 | }
153 | .el.s--active .el__close-btn {
154 | z-index: 5;
155 | opacity: 1;
156 | pointer-events: auto;
157 | transition: all 0s 1.4s;
158 | }
159 | .el__close-btn:before, .el__close-btn:after {
160 | content: "";
161 | position: absolute;
162 | left: 0;
163 | top: 50%;
164 | width: 100%;
165 | height: 8px;
166 | margin-top: -4px;
167 | background: #fff;
168 | opacity: 0;
169 | transition: opacity 0s;
170 | }
171 | .el.s--active .el__close-btn:before, .el.s--active .el__close-btn:after {
172 | opacity: 1;
173 | }
174 | .el__close-btn:before {
175 | transform: rotate(45deg) translateX(100%);
176 | }
177 | .el.s--active .el__close-btn:before {
178 | transition: all 0.3s 1.4s cubic-bezier(0.72, 0.09, 0.32, 1.57);
179 | transform: rotate(45deg) translateX(0);
180 | }
181 | .el__close-btn:after {
182 | transform: rotate(-45deg) translateX(100%);
183 | }
184 | .el.s--active .el__close-btn:after {
185 | transition: all 0.3s 1.55s cubic-bezier(0.72, 0.09, 0.32, 1.57);
186 | transform: rotate(-45deg) translateX(0);
187 | }
188 | .el__index {
189 | overflow: hidden;
190 | position: absolute;
191 | left: 0;
192 | bottom: -80px;
193 | width: 100%;
194 | height: 100%;
195 | min-height: 250px;
196 | text-align: center;
197 | font-size: 20vw;
198 | line-height: 0.85;
199 | font-weight: bold;
200 | transition: transform 0.5s, opacity 0.3s 1.4s;
201 | transform: translate3d(0, 1vw, 0);
202 | }
203 | .el:hover .el__index {
204 | transform: translate3d(0, 0, 0);
205 | }
206 | .cont.s--el-active .el__index {
207 | transition: transform 0.5s, opacity 0.3s;
208 | opacity: 0;
209 | }
210 | .el__index-back, .el__index-front {
211 | position: absolute;
212 | left: 0;
213 | bottom: 0;
214 | width: 100%;
215 | }
216 | .el__index-back {
217 | color: #2f3840;
218 | opacity: 0;
219 | transition: opacity 0.25s 0.25s;
220 | }
221 | .el:hover .el__index-back {
222 | transition: opacity 0.25s;
223 | opacity: 1;
224 | }
225 | .el__index-overlay {
226 | overflow: hidden;
227 | position: relative;
228 | transform: translate3d(0, 100%, 0);
229 | transition: transform 0.5s 0.1s;
230 | color: transparent;
231 | }
232 | .el__index-overlay:before {
233 | content: attr(data-index);
234 | position: absolute;
235 | left: 0;
236 | bottom: 0;
237 | width: 100%;
238 | height: 100%;
239 | color: rgb(207, 207, 207); /* #fff */
240 | transform: translate3d(0, -100%, 0);
241 | transition: transform 0.5s 0.1s;
242 | }
243 | .el:hover .el__index-overlay {
244 | transform: translate3d(0, 0, 0);
245 | }
246 | .el:hover .el__index-overlay:before {
247 | transform: translate3d(0, 0, 0);
248 | }
249 |
250 | .el:nth-child(1) {
251 | transform: translate3d(0%, 0, 0);
252 | transform-origin: 50% 50%;
253 | }
254 | .cont.s--el-active .el:nth-child(1):not(.s--active) {
255 | transform: scale(0.5) translate3d(0%, 0, 0);
256 | opacity: 0;
257 | transition: transform 0.95s, opacity 0.95s;
258 | }
259 | .el:nth-child(1) .el__inner {
260 | transition-delay: 0s;
261 | }
262 | .el:nth-child(1) .el__bg {
263 | transform: translate3d(0%, 0, 0);
264 | }
265 | .el:nth-child(1) .el__bg:before {
266 | transition-delay: 0s;
267 | /* background-image: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/142996/onepgscr-3.jpg"); */
268 | }
269 | .el:nth-child(2) {
270 | transform: translate3d(105.2083333333%, 0, 0);
271 | transform-origin: 155.2083333333% 50%;
272 | }
273 | .cont.s--el-active .el:nth-child(2):not(.s--active) {
274 | transform: scale(0.5) translate3d(105.2083333333%, 0, 0);
275 | opacity: 0;
276 | transition: transform 0.95s, opacity 0.95s;
277 | }
278 | .el:nth-child(2) .el__inner {
279 | transition-delay: 0.1s;
280 | }
281 | .el:nth-child(2) .el__bg {
282 | transform: translate3d(-19.2%, 0, 0);
283 | }
284 | .el:nth-child(2) .el__bg:before {
285 | transition-delay: 0.1s;
286 | }
287 | .el:nth-child(3) {
288 | transform: translate3d(210.4166666667%, 0, 0);
289 | transform-origin: 260.4166666667% 50%;
290 | }
291 | .cont.s--el-active .el:nth-child(3):not(.s--active) {
292 | transform: scale(0.5) translate3d(210.4166666667%, 0, 0);
293 | opacity: 0;
294 | transition: transform 0.95s, opacity 0.95s;
295 | }
296 | .el:nth-child(3) .el__inner {
297 | transition-delay: 0.2s;
298 | }
299 | .el:nth-child(3) .el__bg {
300 | transform: translate3d(-38.4%, 0, 0);
301 | }
302 | .el:nth-child(3) .el__bg:before {
303 | transition-delay: 0.2s;
304 | }
305 | .el:nth-child(4) {
306 | transform: translate3d(315.625%, 0, 0);
307 | transform-origin: 365.625% 50%;
308 | }
309 | .cont.s--el-active .el:nth-child(4):not(.s--active) {
310 | transform: scale(0.5) translate3d(315.625%, 0, 0);
311 | opacity: 0;
312 | transition: transform 0.95s, opacity 0.95s;
313 | }
314 | .el:nth-child(4) .el__inner {
315 | transition-delay: 0.3s;
316 | }
317 | .el:nth-child(4) .el__bg {
318 | transform: translate3d(-57.6%, 0, 0);
319 | }
320 | .el:nth-child(4) .el__bg:before {
321 | transition-delay: 0.3s;
322 | }
323 | .el:nth-child(5) {
324 | transform: translate3d(420.8333333333%, 0, 0);
325 | transform-origin: 470.8333333333% 50%;
326 | }
327 | .cont.s--el-active .el:nth-child(5):not(.s--active) {
328 | transform: scale(0.5) translate3d(420.8333333333%, 0, 0);
329 | opacity: 0;
330 | transition: transform 0.95s, opacity 0.95s;
331 | }
332 | .el:nth-child(5) .el__inner {
333 | transition-delay: 0.4s;
334 | }
335 | .el:nth-child(5) .el__bg {
336 | transform: translate3d(-76.8%, 0, 0);
337 | }
338 | .el:nth-child(5) .el__bg:before {
339 | transition-delay: 0.4s;
340 | }
341 |
342 | .el:hover .el__bg:after {
343 | opacity: 0;
344 | }
345 | .el.s--active {
346 | z-index: 1;
347 | width: 100%;
348 | transform: translate3d(0, 0, 0);
349 | transition: transform 0.6s, width 0.7s 0.7s, z-index 0s;
350 | }
351 | .el.s--active .el__bg {
352 | transform: translate3d(0, 0, 0);
353 | transition: transform 0.6s;
354 | }
355 | .el.s--active .el__bg:before {
356 | transition-delay: 0.6s;
357 | transform: scale(1.1);
358 | }
359 | .icon-link {
360 | position: absolute;
361 | left: 5px;
362 | bottom: 5px;
363 | width: 32px;
364 | }
365 | .icon-link img {
366 | width: 100%;
367 | vertical-align: top;
368 | }
369 | .container_summary {
370 | margin-top: 120px;
371 | margin-bottom: 100px;
372 | }
373 | .container_summary h2 {
374 | text-align: center;
375 | }
376 | .div_quote {
377 | text-align: center;
378 | margin-bottom: 200px;
379 | color: rgb(121, 59, 221);
380 | font-weight: bold;
381 | letter-spacing: 5px;
382 | }
383 | /* Travel Vlog Summary section ends */
384 |
385 | /*hero section starts*/
386 | .hero {
387 | background-color: white;
388 | display: flex;
389 | height: 100vh;
390 | }
391 | .hero .item1 {
392 | width:50%;
393 | background: url('../images/travel/hero.svg');
394 | background-repeat: no-repeat;
395 | background-position: 60% 35%;
396 | background-size: 350px;
397 | }
398 | .hero .item2 {
399 | background-color: white;
400 | width: 50%;
401 | display: flex;
402 | flex-direction: column;
403 | align-items: center;
404 | justify-content: center;
405 | font-weight: bold;
406 | color: #343a40;
407 | }
408 | .hero .item2 span {
409 | color: rgb(121, 59, 221);
410 | }
411 | .hero .item2 h1 {
412 | font-weight: bold;
413 | font-size: 28px;
414 | }
415 | .hero .item2 p {
416 | letter-spacing: 1px;
417 | color: #585c61;
418 | text-align: center;
419 | }
420 |
421 | @media only screen and (max-width: 950px) {
422 | .hero .item1 {
423 | background-size: 300px;
424 | background-position: 10% 35%;
425 | }
426 | .hero .item2 p {
427 | letter-spacing: 1px;
428 | }
429 | }
430 | @media only screen and (max-width: 700px) {
431 |
432 | .container_summary {
433 | margin-top: 5px;
434 | margin-bottom: 5px;
435 | }
436 | .div_quote {
437 | margin-bottom: 70px;
438 | letter-spacing: 2px;
439 | }
440 |
441 | .hero {
442 | flex-direction: column;
443 | justify-content:space-evenly;
444 | height: 80vh;
445 | }
446 | .hero .item1 {
447 | background-position: 60% 0%;
448 | background-size: 300px;
449 | height: 40%;
450 | width: 100%;
451 | }
452 | .hero .item2 {
453 | width: 100%;
454 | }
455 |
456 | .el__text {
457 | font-size: 25px;
458 | }
459 | }
460 | /*hero section ends*/
461 |
--------------------------------------------------------------------------------
/designs/BMI Calculator.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/BMI Calculator.jpg
--------------------------------------------------------------------------------
/designs/BMI_Calculator_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/BMI_Calculator_1.png
--------------------------------------------------------------------------------
/designs/Blog_dark_light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/Blog_dark_light.png
--------------------------------------------------------------------------------
/designs/New_restTutorial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/New_restTutorial.png
--------------------------------------------------------------------------------
/designs/Projet_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/Projet_1.jpg
--------------------------------------------------------------------------------
/designs/ProjetoPizza.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/ProjetoPizza.png
--------------------------------------------------------------------------------
/designs/Projeto_1_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/Projeto_1_2.jpg
--------------------------------------------------------------------------------
/designs/Projeto_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/Projeto_2.jpg
--------------------------------------------------------------------------------
/designs/Projeto_Chuteira.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/Projeto_Chuteira.jpg
--------------------------------------------------------------------------------
/designs/Resume_app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/Resume_app.png
--------------------------------------------------------------------------------
/designs/bmicalculator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/bmicalculator.png
--------------------------------------------------------------------------------
/designs/coursera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/coursera.png
--------------------------------------------------------------------------------
/designs/hcl_domino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/hcl_domino.png
--------------------------------------------------------------------------------
/designs/hero.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/designs/itil_22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/itil_22.png
--------------------------------------------------------------------------------
/designs/javascript.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/javascript.png
--------------------------------------------------------------------------------
/designs/mockups/2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/designs/mockups/7.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/designs/mockups/8.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/designs/rest_tutorial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/designs/rest_tutorial.png
--------------------------------------------------------------------------------
/designs/ui_ux/2.svg:
--------------------------------------------------------------------------------
1 | creation
--------------------------------------------------------------------------------
/designs/ui_ux/3.svg:
--------------------------------------------------------------------------------
1 | web_development
--------------------------------------------------------------------------------
/designs/ui_ux/5.svg:
--------------------------------------------------------------------------------
1 | slider
--------------------------------------------------------------------------------
/designs/ui_ux/6.svg:
--------------------------------------------------------------------------------
1 | portfolio_website
--------------------------------------------------------------------------------
/designs/ui_ux/7.svg:
--------------------------------------------------------------------------------
1 | personal_website
--------------------------------------------------------------------------------
/designs/ui_ux/8.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/event.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | David Simoes
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
62 |
63 |
64 |
65 |
66 |
67 |
74 |
75 |
76 |
77 |
Events
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
--------------------------------------------------------------------------------
/event/image1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/event/image1.jpg
--------------------------------------------------------------------------------
/event/image2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/event/image2.jpg
--------------------------------------------------------------------------------
/event/image3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/event/image3.jpg
--------------------------------------------------------------------------------
/event/image4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/event/image4.jpg
--------------------------------------------------------------------------------
/event/image5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/event/image5.jpg
--------------------------------------------------------------------------------
/event/image6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/event/image6.jpg
--------------------------------------------------------------------------------
/event/image7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/event/image7.jpg
--------------------------------------------------------------------------------
/event/image8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/event/image8.jpg
--------------------------------------------------------------------------------
/fonts/Agustina.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/fonts/Agustina.woff
--------------------------------------------------------------------------------
/home/resume.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DaveSimoes/Developer.Portfolio/1eb60b78856ecf2afc5b474061ee0a20a32b4430/home/resume.png
--------------------------------------------------------------------------------
/icons/arrow-right/arrow-right-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/js/404.js:
--------------------------------------------------------------------------------
1 | anime({
2 | targets: ".row svg",
3 | translateY: 10,
4 | autoplay: true,
5 | loop: true,
6 | easing: "easeInOutSine",
7 | direction: "alternate",
8 | });
9 | anime({
10 | targets: "#zero",
11 | translateX: 10,
12 | autoplay: true,
13 | loop: true,
14 | easing: "easeInOutSine",
15 | direction: "alternate",
16 | scale: [{ value: 1 }, { value: 1.4 }, { value: 1, delay: 250 }],
17 | rotateY: { value: "+=180", delay: 200 },
18 | });
--------------------------------------------------------------------------------
/js/cursor.js:
--------------------------------------------------------------------------------
1 | var cursor = {
2 | delay: 8,
3 | _x: 0,
4 | _y: 0,
5 | endX: window.innerWidth / 2,
6 | endY: window.innerHeight / 2,
7 | cursorVisible: true,
8 | cursorEnlarged: false,
9 | $dot: document.querySelector(".cursor-dot"),
10 | $outline: document.querySelector(".cursor-dot-outline"),
11 | lastScrolledLeft : 0, // For changing position of cursor with scrolling
12 | lastScrolledTop : 0, // For changing position of cursor with scrolling
13 |
14 | init: function () {
15 | // Set up element sizes
16 | this.dotSize = this.$dot.offsetWidth;
17 | this.outlineSize = this.$outline.offsetWidth;
18 |
19 | this.setupEventListeners();
20 | this.animateDotOutline();
21 | },
22 |
23 | setupEventListeners: function () {
24 | var self = this;
25 |
26 | // Anchor hovering
27 | document.querySelectorAll("a").forEach(function (el) {
28 | el.addEventListener("mouseover", function () {
29 | self.cursorEnlarged = true;
30 | self.toggleCursorSize();
31 | });
32 | el.addEventListener("mouseout", function () {
33 | self.cursorEnlarged = false;
34 | self.toggleCursorSize();
35 | });
36 | });
37 |
38 | // Click events
39 | document.addEventListener("mousedown", function () {
40 | self.cursorEnlarged = true;
41 | self.toggleCursorSize();
42 | });
43 | document.addEventListener("mouseup", function () {
44 | self.cursorEnlarged = false;
45 | self.toggleCursorSize();
46 | });
47 |
48 | document.addEventListener("mousemove", function (e) {
49 | // Show the cursor
50 | self.cursorVisible = true;
51 | self.toggleCursorVisibility();
52 |
53 | // Position the dot
54 | self.endX = e.pageX;
55 | self.endY = e.pageY;
56 | self.$dot.style.top = self.endY + "px";
57 | self.$dot.style.left = self.endX + "px";
58 | });
59 |
60 | // Hide/show cursor
61 | document.addEventListener("mouseenter", function (e) {
62 | self.cursorVisible = true;
63 | self.toggleCursorVisibility();
64 | self.$dot.style.opacity = 1;
65 | self.$outline.style.opacity = 1;
66 | });
67 |
68 | document.addEventListener("mouseleave", function (e) {
69 | self.cursorVisible = true;
70 | self.toggleCursorVisibility();
71 | self.$dot.style.opacity = 0;
72 | self.$outline.style.opacity = 0;
73 | });
74 |
75 | // Change position of cursor with scrolling
76 | document.addEventListener('scroll', function (e) {
77 |
78 | if (self.lastScrolledLeft != $(document).scrollLeft()) {
79 | self.endX -= self.lastScrolledLeft;
80 | self.lastScrolledLeft = $(document).scrollLeft();
81 | self.endX += self.lastScrolledLeft;
82 | }
83 | if (self.lastScrolledTop != $(document).scrollTop()) {
84 | self.endY -= self.lastScrolledTop;
85 | self.lastScrolledTop = $(document).scrollTop();
86 | self.endY += self.lastScrolledTop;
87 | }
88 | self.$dot.style.top = self.endY + "px";
89 | self.$dot.style.left = self.endX + "px";
90 |
91 | });
92 | },
93 |
94 | animateDotOutline: function () {
95 | var self = this;
96 |
97 | self._x += (self.endX - self._x) / self.delay;
98 | self._y += (self.endY - self._y) / self.delay;
99 | self.$outline.style.top = self._y + "px";
100 | self.$outline.style.left = self._x + "px";
101 |
102 | requestAnimationFrame(this.animateDotOutline.bind(self));
103 | },
104 |
105 | toggleCursorSize: function () {
106 | var self = this;
107 |
108 | if (self.cursorEnlarged) {
109 | self.$dot.style.transform = "translate(-50%, -50%) scale(0.75)";
110 | self.$outline.style.transform = "translate(-50%, -50%) scale(1.5)";
111 | } else {
112 | self.$dot.style.transform = "translate(-50%, -50%) scale(1)";
113 | self.$outline.style.transform = "translate(-50%, -50%) scale(1)";
114 | }
115 | },
116 |
117 | toggleCursorVisibility: function () {
118 | var self = this;
119 |
120 | if (self.cursorVisible) {
121 | self.$dot.style.opacity = 1;
122 | self.$outline.style.opacity = 1;
123 | } else {
124 | self.$dot.style.opacity = 0;
125 | self.$outline.style.opacity = 0;
126 | }
127 | },
128 | };
129 |
130 | cursor.init();
131 |
--------------------------------------------------------------------------------
/js/dynamicTitle.js:
--------------------------------------------------------------------------------
1 | window.onload = function () {
2 | const favicon = document.getElementById("favicon");
3 | let pageTitle = document.title;
4 | let attentionMessage = "Come back";
5 |
6 | document.addEventListener("visibilitychange", function (e) {
7 | let isPageActive = !document.hidden;
8 |
9 | if (!isPageActive) {
10 | toggle();
11 | } else {
12 | document.title = pageTitle;
13 | }
14 | });
15 |
16 | document.addEventListener("visibilitychange", function (e) {
17 | if (!document.hidden) {
18 | document.title = pageTitle;
19 | favicon.href = "./assets/images/dp_male.svg";
20 | }
21 | });
22 |
23 | function toggle() {
24 | if (document.title === attentionMessage) {
25 | document.title = pageTitle;
26 | favicon.href = "./assets/images/dp_male.svg";
27 | } else {
28 | document.title = attentionMessage;
29 | favicon.href = "./assets/images/folded.png";
30 | }
31 | }
32 | };
33 |
--------------------------------------------------------------------------------
/js/education.js:
--------------------------------------------------------------------------------
1 | AOS.init();
2 |
3 | // MOOCs Cards
4 |
5 | const moocs = document.querySelector(".moocs");
6 | const moocscards = [
7 | {
8 | title: "ITIL® Foundation Certificate in IT Service Management",
9 | /* cardImage: "assets/images/designs/itil_22", */
10 | cardImage: "assets/images/designs/itil_22.png",
11 | link: "https://https://www.peoplecert.org/certifications-and-memberships",
12 | },
13 | {
14 | title: "Introduction to Cloud Computing",
15 | cardImage: "assets/images/designs/coursera.png",
16 | moocLink: "https://www.udemy.com/course/cryptography-for-beginners/",
17 | },
18 | {
19 | title: "HCL Certified Domino Developer Application",
20 | cardImage: "assets/images/designs/hcl_domino.png",
21 | moocLink: "https://www.coursera.org/learn/machine-learning",
22 | },
23 | {
24 | title: "Linkedin Skill Assessment (JavaScript)",
25 | cardImage: "assets/images/designs/javascript.png",
26 | moocLink: "https://www.linkedin.com/skill-assessments/JavaScript/report/",
27 | },
28 |
29 | /* {
30 | title: "Introduction to CSS 3",
31 | cardImage: "assets/images/education-page/udacity.svg",
32 | moocLink: "https://www.udacity.com/course/intro-to-html-and-css--ud001",
33 | },
34 | {
35 | title: "Javascript",
36 | cardImage: "assets/images/education-page/udacity.svg",
37 | moocLink: "https://www.udacity.com/course/intro-to-javascript--ud803",
38 | },
39 | {
40 | title: "Bootstrap 4",
41 | cardImage: "assets/images/education-page/udemy.svg",
42 | moocLink: "https://www.udemy.com/course/bootstrap-4-tutorials/",
43 | },
44 | {
45 | title: "Intro to React",
46 | cardImage: "assets/images/education-page/edx.svg",
47 | moocLink: "https://www.edx.org/learn/reactjs",
48 | },
49 | {
50 | title: "Intro to React Native",
51 | cardImage: "assets/images/education-page/coursera2.svg",
52 | moocLink:
53 | "https://www.coursera.org/lecture/react-native/introduction-to-react-native-Eax0D",
54 | },
55 | {
56 | title: "NodeJS, Express and MongoDB",
57 | cardImage: "assets/images/education-page/coursera2.svg",
58 | moocLink: "https://www.coursera.org/learn/server-side-nodejs",
59 | },
60 | {
61 | title: "XML-AJAX",
62 | cardImage: "assets/images/education-page/udemy.svg",
63 | moocLink: "https://www.udemy.com/course/xml-from-beginner-to-expert/",
64 | },
65 | {
66 | title: "Data Structures & Algorithms",
67 | cardImage: "assets/images/education-page/udacity.svg",
68 | moocLink:
69 | "https://www.udacity.com/course/data-structures-and-algorithms-nanodegree--nd256",
70 | }, */
71 | ];
72 |
73 | const experience = [
74 | {
75 | img: "assets/images/education-page/c1.png",
76 | },
77 | {
78 | img: "assets/images/education-page/c2.jpg",
79 | },
80 | {
81 | img: "assets/images/education-page/c3.png",
82 | },
83 | {
84 | img: "assets/images/education-page/c4.png",
85 | },
86 | {
87 | img: "assets/images/education-page/c5.jpg",
88 | },
89 | ];
90 |
91 | let currentItem = 0;
92 |
93 | const img = document.getElementById("image");
94 |
95 | const prevBtn = document.querySelector("#prevBtn");
96 | const nextBtn = document.querySelector("#nextBtn");
97 |
98 | window.addEventListener("DOMContentLoaded", function () {
99 | showExperience();
100 | });
101 |
102 | function showExperience() {
103 | setInterval(function () {
104 | if (currentItem === experience.length) {
105 | currentItem = 0;
106 | }
107 | const item = experience[currentItem];
108 | img.src = item.img;
109 | currentItem++;
110 | }, 3000);
111 | }
112 |
113 | const showCards = () => {
114 | let output = "";
115 | moocscards.forEach(
116 | ({ title, cardImage, moocLink }) =>
117 | (output += `
118 |
119 |
120 |
121 |
122 |
123 |
126 |
127 |
128 |
${title}
129 |
130 |
131 |
132 | `)
133 | );
134 | moocs.innerHTML = output;
135 | };
136 | document.addEventListener("DOMContentLoaded", showCards);
137 |
138 | /* Badges*/
139 |
140 | const bagdes = document.querySelector(".badges");
141 | const badgesection = [
142 | {
143 | title: "Google Developer Essentials",
144 | image: "assets/images/education-page/badge1.png",
145 | description: "Earned May 20, 2020",
146 | },
147 | {
148 | title: "VM Migration",
149 | image: "assets/images/education-page/badge2.png",
150 | description: "Earned June 20, 2020",
151 | },
152 | {
153 | title: "G Suite Essentials",
154 | image: "assets/images/education-page/badge3.png",
155 | description: "Earned July 20, 2020",
156 | },
157 | ];
158 |
159 | const showCards1 = () => {
160 | let output = "";
161 | badgesection.forEach(
162 | ({ title, image, description }) =>
163 | (output += `
164 |
165 |
166 |
${title}
167 |
${description}
168 |
`)
169 | );
170 | bagdes.innerHTML = output;
171 | };
172 | document.addEventListener("DOMContentLoaded", showCards1);
173 |
174 | /* Timeline Section*/
175 |
176 | $(function () {
177 | window.sr = ScrollReveal();
178 |
179 | if ($(window).width() < 768) {
180 | if ($(".timeline-content").hasClass("js--fadeInLeft")) {
181 | $(".timeline-content")
182 | .removeClass("js--fadeInLeft")
183 | .addClass("js--fadeInRight");
184 | }
185 |
186 | sr.reveal(".js--fadeInRight", {
187 | origin: "right",
188 | distance: "300px",
189 | easing: "ease-in-out",
190 | duration: 800,
191 | });
192 | } else {
193 | sr.reveal(".js--fadeInLeft", {
194 | origin: "left",
195 | distance: "300px",
196 | easing: "ease-in-out",
197 | duration: 800,
198 | });
199 |
200 | sr.reveal(".js--fadeInRight", {
201 | origin: "right",
202 | distance: "300px",
203 | easing: "ease-in-out",
204 | duration: 800,
205 | });
206 | }
207 |
208 | sr.reveal(".js--fadeInLeft", {
209 | origin: "left",
210 | distance: "300px",
211 | easing: "ease-in-out",
212 | duration: 800,
213 | });
214 |
215 | sr.reveal(".js--fadeInRight", {
216 | origin: "right",
217 | distance: "300px",
218 | easing: "ease-in-out",
219 | duration: 800,
220 | });
221 | });
222 |
--------------------------------------------------------------------------------
/js/event.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function () {
2 | AOS.init();
3 | const eventswiper = document.querySelector(".swiper-wrapper");
4 | const event = [
5 | // eslint-disable-next-line linebreak-style
6 | {
7 | title: "Talk on ABC",
8 | image: "assets/images/event/image3.jpg",
9 | },
10 | {
11 | title: "Keynote on XYZ",
12 | image: "assets/images/event/image2.jpg",
13 | },
14 | { title: "Group Picture", image: "assets/images/event/image1.jpg" },
15 | {
16 | title: "Presentation",
17 | image: "assets/images/event/image4.jpg",
18 | },
19 | {
20 | title: "Note on XYZ",
21 | image: "assets/images/event/image5.jpg",
22 | },
23 | {
24 | title: "Keytopics",
25 | image: "assets/images/event/image6.jpg",
26 | },
27 | {
28 | title: "The Gist",
29 | image: "assets/images/event/image7.jpg",
30 | },
31 | {
32 | title: "Thank You",
33 | image: "assets/images/event/image8.jpg",
34 | },
35 | ];
36 | // Filling the details from the object array event
37 | function fillData() {
38 | let output = "";
39 | for (let x = 0; x < event.length; x++) {
40 | output += `
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | ${event[x].title}
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
`;
64 | }
65 | eventswiper.innerHTML = output;
66 | }
67 | document.addEventListener("DOMContentLoaded", fillData());
68 | const parallaxSliderOptions = {
69 | speed: 1000,
70 | effect: "coverflow",
71 | autoplay: false,
72 | parallax: true,
73 | loop: true,
74 | grabCursor: true,
75 | centeredSlides: true,
76 | coverflowEffect: {
77 | rotate: 30,
78 | depth: 20,
79 | stretch: 0,
80 | modifier: 1,
81 | slideShadows: true,
82 | },
83 | // parallax effect
84 | on: {
85 | init: function () {
86 | const swiper = this;
87 | for (let i = 0; i < swiper.slides.length; i++) {
88 | $(swiper.slides[i])
89 | .find(".img-container")
90 | .attr({
91 | "data-swiper-parallax": 0.75 * swiper.width,
92 | "data-swiper-paralalx-opacity": 0.5,
93 | });
94 | }
95 | const index = swiper.activeIndex;
96 | $(swiper.slides).removeClass("active");
97 | $(swiper.slides[index]).addClass("active");
98 | },
99 | transitionEnd: function () {
100 | const swiper = this;
101 | const index = swiper.activeIndex;
102 | $(swiper.slides).removeClass("active");
103 | $(swiper.slides[index]).addClass("active");
104 | },
105 | resize: function () {
106 | this.update();
107 | },
108 | },
109 | navigation: {
110 | nextEl: ".image-slider .next-ctrl",
111 | prevEl: ".image-slider .prev-ctrl",
112 | },
113 | };
114 | // initializing swiper
115 | const slider = new Swiper(".image-slider", parallaxSliderOptions);
116 | });
117 |
--------------------------------------------------------------------------------
/js/experience.js:
--------------------------------------------------------------------------------
1 | AOS.init();
2 |
3 | // Work experience cards
4 |
5 | const experiencecards = document.querySelector(".experience-cards");
6 | const exp = [
7 | {
8 | title: "Front End Developer",
9 | cardImage: "assets/images/experience-page/Del.png",
10 | place: "D&L IT ",
11 | time: "(Jan, 2021 - Current Time)",
12 | desp: "Development of Websites on demand using JavaScript, React, HTML, CSS Consulting work for our Customers Prospection and creation of course via web Starting development mobile application by React Native JavaScript Blog Creation "
13 | },
14 |
15 | {
16 | title: "System Engineer",
17 | cardImage: "assets/images/experience-page/Marinit_1.png",
18 | place: "Marin IT AS",
19 | time: "(Jan, 2012 - 2021)",
20 | desp: "Development and improvement on Demand of JavaScript, HTML, CSS, XML and LotuScript software used on the company's Vessels and Its Onshore Offices in Brazil and Norway Development and creation of new application in Javascript, HTML, CSS, XML and LotuScript, for QMS Department which has been used at Vessels company Responsible by support and improvement to Vessels software such as : SGS/SGI, Material Movement and Certificates and Documents applications Management of applications hosted on the cloud by using Microsoft Azure Domino Administrator for Notes Application hosted in Domino Server. "
21 | },
22 | {
23 | title: "System Engineer",
24 | cardImage: "assets/images/experience-page/Brdistribuidora_1.png",
25 | place: "BR Oil Distributor (Petrobras)",
26 | time: "(Sep, 2010- Aug, 2012)",
27 | desp: "Development and support to Web applications in JavaScript, Java, HTML, CSS, XML and LotuScript Development of API`s on Demand for BR customers Support by Call Center for BR`s Users Domino Server Administrator ",
28 | },
29 | {
30 | title: "System Engineer",
31 | cardImage: "assets/images/experience-page/IBM.png",
32 | place: "IBM (International Business Machines Corporation)",
33 | time: "(Dec, 19 - Jan, 20)",
34 | desp: "Development of Audit System Program in JavaScript/LotuScript Development of JavaScript, PHP, LotuScript codes used by customers also maintenance of Domino Server and IBM® Db2® Supervision of applications running on DB2 Server for occasional critical environments Supervisor and support for junior and intern developers "
35 | },
36 | ];
37 |
38 | const showCards2 = () => {
39 | let output = "";
40 | exp.forEach(
41 | ({ title, cardImage, place, time, desp }) =>
42 | (output += `
43 |
44 |
45 |
46 |
47 |
59 |
60 |
61 |
62 | `)
63 | );
64 | experiencecards.innerHTML = output;
65 | };
66 | document.addEventListener("DOMContentLoaded", showCards2);
67 |
68 | // Github screen (project)
69 |
70 | const volunteership = document.querySelector(".volunteership");
71 | const volunteershipcards = [
72 | {
73 | title: "Nhaac Restaurant Website",
74 | /* cardImage: "assets/images/experience-page/1.jpg",*/
75 | cardImage: "assets/images/designs/ProjetoPizza.png",
76 | description:
77 | "Responsible for handling the projects GirlScript App and GirlScript Website Boilerplate.",
78 | },
79 | {
80 | title: "Registration Form",
81 | /* cardImage: "assets/images/experience-page/2.jpg", */
82 | cardImage: "assets/images/designs/Blog_dark_light.png",
83 | description: "Registration Form to receive newsletter",
84 | },
85 | {
86 | title: "Landing Page Nike",
87 | /* cardImage: "assets/images/experience-page/3.jpg", */
88 | cardImage: "assets/images/designs/Projeto_Chuteira.jpg",
89 | description:
90 | "Landing Page Football Boots Nike ",
91 | },
92 | {
93 | title: "Tutorial Rest API (In Developing)",
94 | cardImage: "assets/images/designs/rest_tutorial.png",
95 | description:"REST API tutorial for all levels: What is Rest?, HTTP methods, Resource Name, IdemPotence...",
96 | },
97 | {
98 | title: "BMI calculator",
99 | cardImage:"assets/images/designs/BMI Calculator.jpg",
100 | description:"BMI Calculator app. Developed using Flutter",
101 | },
102 | ];
103 |
104 | /* const showCards = () => {
105 | let output = "";
106 | volunteershipcards.forEach(
107 | ({ title, cardImage, description }) =>
108 | (output += `
109 |
110 |
111 |
112 |
113 |
${title}
114 |
${description}
115 |
116 |
117 | `)
118 | );
119 | volunteership.innerHTML = output;
120 | };
121 | document.addEventListener("DOMContentLoaded", showCards);
122 |
123 | // Hackathon Section
124 |
125 | /*const hackathonsection = document.querySelector(".hackathon-section"); */
126 |
127 |
128 | /* const showCards3 = () => {
129 | let output = "";
130 | mentor.forEach(
131 | ({ title, image, subtitle, desp }) =>
132 | (output += `
133 |
134 |
135 |
136 |
137 |
138 |
${title}
139 |
${subtitle}
140 |
${desp}
141 |
Read More
142 |
143 |
144 | `)
145 | );
146 | hackathonsection.innerHTML = output;
147 | };
148 | document.addEventListener("DOMContentLoaded", showCards3); */
149 |
--------------------------------------------------------------------------------
/js/particle.js:
--------------------------------------------------------------------------------
1 | /* ---- particles.js config ---- */
2 |
3 | particlesJS("particles-js", {
4 | particles: {
5 | number: {
6 | value: 140,
7 | density: {
8 | enable: true,
9 | value_area: 800,
10 | },
11 | },
12 | color: {
13 | value: ["#2EB67D", "#ECB22E", "#E01E5B", "#36C5F0"],
14 | },
15 | shape: {
16 | type: "circle",
17 | stroke: {
18 | width: 0,
19 | color: "#fff",
20 | },
21 | polygon: {
22 | nb_sides: 5,
23 | },
24 | image: {
25 | src: "https://cdn.freebiesupply.com/logos/large/2x/slack-logo-icon.png",
26 | width: 100,
27 | height: 100,
28 | },
29 | },
30 |
31 | opacity: {
32 | value: 1,
33 | random: false,
34 | anim: {
35 | enable: false,
36 | speed: 1,
37 | opacity_min: 0.1,
38 | sync: false,
39 | },
40 | },
41 | size: {
42 | value: 8,
43 | random: true,
44 | anim: {
45 | enable: false,
46 | speed: 10,
47 | size_min: 10,
48 | sync: false,
49 | },
50 | },
51 | line_linked: {
52 | enable: true,
53 | distance: 150,
54 | color: "#808080",
55 | opacity: 0.4,
56 | width: 1,
57 | },
58 | move: {
59 | enable: true,
60 | speed: 5,
61 | direction: "none",
62 | random: false,
63 | straight: false,
64 | out_mode: "out",
65 | bounce: false,
66 | attract: {
67 | enable: false,
68 | rotateX: 600,
69 | rotateY: 1200,
70 | },
71 | },
72 | },
73 | interactivity: {
74 | detect_on: "window",
75 | events: {
76 | onhover: {
77 | enable: true,
78 | mode: "repulse",
79 | },
80 | onclick: {
81 | enable: true,
82 | mode: "push",
83 | },
84 | },
85 | modes: {
86 | repulse: {
87 | distance: 70,
88 | duration: 0.4,
89 | },
90 | push: {
91 | particles_nb: 4,
92 | },
93 | },
94 | },
95 | retina_detect: true,
96 | });
97 | const allElements = document.querySelectorAll(".animated-text");
98 |
99 | // It checks if there is at least one element
100 | if (allElements.length > 0) {
101 | //It runs the script for each found element
102 | allElements.forEach((element) => {
103 | const txtElement = element,
104 | wordsList = txtElement.getAttribute("data-words"),
105 | words = wordsList.split(", "); // It makes an array of words from data attribute
106 |
107 | let wordsCount = 0;
108 |
109 | entry();
110 |
111 | // Initial function
112 | function entry() {
113 | if (wordsCount < words.length) {
114 | // It runs the code for each word
115 | let word = words[wordsCount],
116 | txtArr = word.split(""), // It makes an array of letters in the word
117 | count = 0;
118 |
119 | txtElement.textContent = ""; // It removes the previous text from the element
120 |
121 | // For each letter in the array
122 | txtArr.forEach((letter) => {
123 | // It replaces the empty space for the "non-break-space" HTML...
124 | // ... This is needed to separate the words properly
125 | let _letter = letter === " " ? " " : letter;
126 |
127 | // It wraps every letter with a "span" and puts all they back to the element
128 | txtElement.innerHTML += `${_letter} `;
129 | });
130 |
131 | let spans = txtElement.childNodes;
132 |
133 | // It sets the interval between each letter showing
134 | const letterInterval = setInterval(activeLetter, 70);
135 |
136 | function activeLetter() {
137 | spans[count].classList.add("active");
138 | count++;
139 |
140 | if (count === spans.length) {
141 | clearInterval(letterInterval);
142 |
143 | // It waits 4 seconds to start erasing the word
144 | setTimeout(() => {
145 | eraseText();
146 | }, 600);
147 | }
148 | }
149 |
150 | function eraseText() {
151 | // It sets the interval between each letter hiding
152 | let removeInterval = setInterval(removeLetter, 40);
153 | count--;
154 |
155 | function removeLetter() {
156 | spans[count].classList.remove("active");
157 | count--;
158 |
159 | if (count === -1) {
160 | clearInterval(removeInterval);
161 | wordsCount++;
162 |
163 | // After removing the last letter, call the initial function again
164 | entry();
165 | }
166 | }
167 | }
168 | } else {
169 | // If the code reaches the last word
170 | // It resets the words counter...
171 | wordsCount = 0;
172 | // ...and calls the initial function again.
173 | entry();
174 | }
175 | }
176 | });
177 | }
178 |
--------------------------------------------------------------------------------
/js/project.js:
--------------------------------------------------------------------------------
1 | AOS.init();
2 | /* Project Cards */
3 |
4 | const projectcards = document.querySelector(".projectcards");
5 |
6 | // Array of object for projects
7 | const projects = [
8 | {
9 | title: "Nhaac Restaurant WebSite",
10 | /* cardImage: "assets/images/design/ProjetoPizza.png",*/
11 | cardImage: "assets/images/designs/ProjetoPizza.png",
12 | description: "Nhaac Restaurant WebSite.",
13 | /* tagimg: "https://cdn.iconscout.com/icon/free/png-512/react-1-282599.png", */
14 | Previewlink: "https://davesimoes.github.io/nhaackdavesimoes.github.io//",
15 | Githublink: "https://github.com/DaveSimoes/nhaackdavesimoes.github.io",
16 | },
17 | {
18 | title: "Registration Form",
19 | cardImage: "assets/images/designs/Blog_dark_light.png",
20 | description: "Registration Form built in JavaScript, HTML and CSS",
21 | /* tagimg: "https://image.flaticon.com/icons/png/512/643/643350.png", */
22 | Previewlink: "",
23 | Githublink: "https://github.com/DaveSimoes/landing_page_darktheme",
24 | },
25 | {
26 | title: "Landing Page Nike",
27 | cardImage: "assets/images/designs/Projeto_Chuteira.jpg",
28 | description: "Landing Page Nike built using JS, HTML and CSS",
29 | tagimg: "https://cdn.iconscout.com/icon/free/png-512/react-1-282599.png",
30 | Previewlink: "",
31 | Githublink: "https://github.com/DaveSimoes/LightandDarktheme",
32 | },
33 | {
34 | title: "Tutorial Rest API (In Developing)",
35 | cardImage: "assets/images/designs/rest_tutorial.png",
36 | description: "Tutorial Rest API Website",
37 | /* tagimg: "https://miro.medium.com/max/2800/0*U2DmhXYumRyXH6X1.png", */
38 | Previewlink: "",
39 | Githublink: "https://github.com/DaveSimoes/LightandDarktheme",
40 | },
41 | {
42 | title: "BMI Calculator",
43 | cardImage: "assets/images/designs/bmicalculator.png",
44 | description: "BMI Calculator app. Developed built using Flutter",
45 | Previewlink: "",
46 | Githublink: "https://github.com/DaveSimoes/MyFirstAppMobile",
47 | },
48 | {
49 | title: "Responsive Resume Website",
50 | cardImage: "assets/images/designs/Resume_app.png",
51 | description: "Poker game built using typescript.",
52 | /* tagimg: "https://miro.medium.com/max/816/1*mn6bOs7s6Qbao15PMNRyOA.png", */
53 | Previewlink: "https://davidsimoes-resume.netlify.app/",
54 | Githublink: "",
55 | },
56 | /* {
57 | title: "Tic Tac Toe Game",
58 | cardImage: "assets/images/project-page/tic-tac-toe.png",
59 | description:
60 | "Tested a React Tic Tac Toe Game using Jest and React Testing Library.",
61 | tagimg: "https://cdn.iconscout.com/icon/free/png-512/react-1-282599.png",
62 | Previewlink: "",
63 | Githublink: "",
64 | }, */
65 | /* {
66 | title: "Personal Book Library",
67 | cardImage: "assets/images/project-page/book.png",
68 | description: "Personal book library app built using JavaScript.",
69 | tagimg:
70 | Previewlink: "",
71 | Githublink: "",
72 | }, */
73 | /* {
74 | title: "Minesweeper Game",
75 | cardImage: "assets/images/project-page/minesweeper.jpg",
76 | description:
77 | "Minesweeper Game built using python Object Oriented Programming.",
78 | tagimg:
79 | "https://camo.githubusercontent.com/888e388801f947dec7c3d843942c277af25fe2b1aed1821542c4e711f210312a/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f632f63332f507974686f6e2d6c6f676f2d6e6f746578742e7376672f37363870782d507974686f6e2d6c6f676f2d6e6f746578742e7376672e706e67",
80 | Previewlink: "",
81 | Githublink: "",
82 | }, */
83 | /* {
84 | title: "Battery Life Calculator",
85 | cardImage: "assets/images/project-page/battery.png",
86 | description: "Built battery life calculator using Python.",
87 | tagimg:
88 | "https://camo.githubusercontent.com/888e388801f947dec7c3d843942c277af25fe2b1aed1821542c4e711f210312a/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f632f63332f507974686f6e2d6c6f676f2d6e6f746578742e7376672f37363870782d507974686f6e2d6c6f676f2d6e6f746578742e7376672e706e67",
89 | Previewlink: "",
90 | Githublink: "",
91 | }, */
92 | /* {
93 | title: "Movie Recommendation System",
94 | cardImage: "assets/images/project-page/movie-recommendation.jpeg",
95 | description: "Built using Tensorflow.",
96 | tagimg:
97 | "https://cdn-images-1.medium.com/max/1200/1*iDQvKoz7gGHc6YXqvqWWZQ.png",
98 | Previewlink: "",
99 | Githublink: "",
100 | }, */
101 | /* {
102 | title: "Music Recommendation Engine",
103 | cardImage: "assets/images/project-page/music.jpg",
104 | description: "Built using Python.",
105 | tagimg:
106 | "https://camo.githubusercontent.com/888e388801f947dec7c3d843942c277af25fe2b1aed1821542c4e711f210312a/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f632f63332f507974686f6e2d6c6f676f2d6e6f746578742e7376672f37363870782d507974686f6e2d6c6f676f2d6e6f746578742e7376672e706e67",
107 | Previewlink: "",
108 | Githublink: "",
109 | }, */
110 | ];
111 |
112 | // function for rendering project cards data
113 | const showCards = () => {
114 | let output = "";
115 | projects.forEach(({ title, cardImage, Previewlink, Githublink }) => {
116 | output += `
117 | `;
134 | });
135 | projectcards.innerHTML = output;
136 | };
137 | document.addEventListener("DOMContentLoaded", showCards);
138 |
139 | function myFunction() {
140 | // Declare variables
141 | var input, button, i, skillcard, card, title;
142 | input = document.getElementById("myInput").value;
143 | input = input.toUpperCase();
144 | skillcard = document.getElementsByClassName("skill-card");
145 | card = document.getElementsByClassName("card");
146 | title = document.getElementsByClassName("title");
147 |
148 | // Loop through all list items, and hide those who don't match the search query
149 | for (i = 0; i < button.length; i++) {
150 | if (
151 | button[i].innerHTML.toUpperCase().includes(input) ||
152 | title[i].innerHTML.toUpperCase().includes(input)
153 | ) {
154 | skillcard[i].style.display = "";
155 | card[i].style.display = "";
156 | } else {
157 | skillcard[i].style.display = "none";
158 | card[i].style.display = "none";
159 | }
160 | }
161 | }
162 |
--------------------------------------------------------------------------------
/js/references.js:
--------------------------------------------------------------------------------
1 | /*Reference Details Table*/
2 | // Changes made 10/1/2021:
3 | // Added reviewphoto1 - reviewphoto5 in assets/references-page
4 | // Changed names and descriptions of references
5 | const referenceTable = document.querySelector(".pain");
6 |
7 | const references = [
8 | {
9 | sl1: 1,
10 | name1 : "Smaranjit Ghose",
11 | designation1 : "Product Manager, Microsoft",
12 | image1 : "https://avatars.githubusercontent.com/u/46641503?v=4",
13 | message1 : "John is a conscientious individual whom I mentored during JWOC'2021. His problem-solving skills and a keen interest in learning new skillsets are remarkable. His hardworking nature and team-building abilities make him different from others.",
14 |
15 |
16 | sl2:2,
17 | name2 : "Anush Bhatia",
18 | designation2 : "Senior Analyst, Capgemini",
19 | image2: "https://avatars.githubusercontent.com/u/40017559?v=4",
20 | message2 : "John has the best grasping skills I have seen in a new developer. I got to know him through GSSOC'2021 when I mentored him, and he made an exceptional growth during the competition. He made some incredible contributions and has good experience with Open Source.",
21 |
22 |
23 | },
24 |
25 | {
26 | sl1:3,
27 | name1 : "Aditya Jyoti Paul",
28 | designation1 : "Technical Analyst, Amazon",
29 | image1 : "https://media-exp1.licdn.com/dms/image/C5603AQGEV-kzawPxjw/profile-displayphoto-shrink_800_800/0/1588602102622?e=1651708800&v=beta&t=8nxhFoR-WB4OKVltyYaVjmRpig_kQcvFsoa-eLjJPBQ",
30 | message1 : "John and I have worked on several projects. Apart from technical skills, he also has good soft skills. He has good experience with debugging and has excellent leadership qualities.",
31 |
32 |
33 | sl2:4,
34 | name2 : "Arnab Dutta Purkayastha",
35 | designation2 : "Data Scientist, Flipkart",
36 | image2 : "https://avatars.githubusercontent.com/u/59832779?v=4",
37 | message2 : "John and I worked together during a hackathon and the thing that surprised me the most about him was his knowledge of fundamentals. He offered sincere help to the team throughout the competition. He is an impressive problem solver who is able to address complex issues strategically and confidently.",
38 | },
39 | ];
40 |
41 | AOS.init();
42 | const fillData = () => {
43 | let output = "";
44 |
45 | references.forEach(
46 | ({
47 | sl1,
48 | image1,
49 | name1,
50 | designation1,
51 | message1,
52 | absbox_for_linkedin1,
53 | sl2,
54 | image2,
55 | name2,
56 | designation2,
57 | message2,
58 | absbox_for_linkedin2,
59 | }) =>
60 | (output += `
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 | ${name1}
70 | ${designation1}
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 | ${name2}
86 | ${designation2}
89 |
90 |
91 |
92 |
93 |
94 |
95 | `)
96 | );
97 | referenceTable.innerHTML = output;
98 | };
99 | document.addEventListener("DOMContentLoaded", fillData);
100 |
--------------------------------------------------------------------------------
/js/research.js:
--------------------------------------------------------------------------------
1 | /*Research Details Table*/
2 |
3 | const researchTable = document.querySelector(".main");
4 |
5 | const research = [
6 | {
7 | title: "A Batch Normalized Inference Network Keeps the KL Vanishing Away",
8 | authors:
9 | "Qile Zhu, Wei Bi, Xiaojiang Liu, Xiyao Ma, Xiaolin Li and Dapeng Wu",
10 | conferences:
11 | "The 58th Annual Meeting of the Association for Computational Linguistics",
12 | researchYr: 2020,
13 | citebox: "popup1",
14 | image: "assets/images/research-page/inteferenceNetwork.png",
15 | citation: {
16 | vancouver:
17 | "Qile Zhu, Wei Bi, Xiaojiang Liu, Xiyao Ma, Xiaolin Li and Dapeng Wu. A Batch Normalized Inference Network Keeps the KL Vanishing Away. The 58th Annual Meeting of the Association for Computational Linguistics 2020.",
18 | },
19 | abstract:
20 | "This is currently left empty and this can be considered as a dummy data 1",
21 | absbox: "absPopup1",
22 | },
23 |
24 | {
25 | title: "A Call for More Rigor in Unsupervised Cross-lingual Learning",
26 | authors:
27 | "Mikel Artetxe, Sebastian Ruder, Dani Yogatama, Gorka Labaka and Eneko Agirre",
28 | conferences:
29 | "The 58th Annual Meeting of the Association for Computational Linguistics",
30 | researchYr: 2020,
31 | citebox: "popup2",
32 | image: "assets/images/research-page/crossLingual.png",
33 | citation: {
34 | vancouver:
35 | "Mikel Artetxe, Sebastian Ruder, Dani Yogatama, Gorka Labaka and Eneko Agirre. A Call for More Rigor in Unsupervised Cross-lingual Learning. The 58th Annual Meeting of the Association for Computational Linguistics 2020.",
36 | },
37 | abstract:
38 | "This is currently left empty and this can be considered as a dummy data 2",
39 | absbox: "absPopup2",
40 | },
41 |
42 | {
43 | title:
44 | "A Comprehensive Analysis of Preprocessing for Word Representation Learning in Affective Tasks",
45 | authors: "Nastaran Babanejad, Ameeta Agrawal, Aijun An and Manos Papagelis",
46 | conferences:
47 | "The 58th Annual Meeting of the Association for Computational Linguistics",
48 | researchYr: 2020,
49 | citebox: "popup3",
50 | image: "assets/images/research-page/wordRepresentation.png",
51 | citation: {
52 | vancouver:
53 | "Nastaran Babanejad, Ameeta Agrawal, Aijun An and Manos Papagelis. A Comprehensive Analysis of Preprocessing for Word Representation Learning in Affective Tasks. The 58th Annual Meeting of the Association for Computational Linguistics 2020.",
54 | },
55 | abstract:
56 | "This is currently left empty and this can be considered as a dummy data 3",
57 | absbox: "absPopup3",
58 | },
59 |
60 | {
61 | title:
62 | "A Contextual Hierarchical Attention Network with Adaptive Objective for Dialogue State Tracking",
63 | authors:
64 | "Yong Shan, Zekang Li, Jinchao Zhang, Fandong Meng, Yang Feng, Cheng Niu and Jie Zhou",
65 | conferences:
66 | "The 58th Annual Meeting of the Association for Computational Linguistics",
67 | researchYr: 2020,
68 | citebox: "popup4",
69 | image: "assets/images/research-page/dialogueState.png",
70 | citation: {
71 | vancouver:
72 | "Yong Shan, Zekang Li, Jinchao Zhang, Fandong Meng, Yang Feng, Cheng Niu and Jie Zhou. A Contextual Hierarchical Attention Network with Adaptive Objective for Dialogue State Tracking. The 58th Annual Meeting of the Association for Computational Linguistics 2020.",
73 | },
74 | abstract:
75 | "This is currently left empty and this can be considered as a dummy data 4",
76 | absbox: "absPopup4",
77 | },
78 |
79 | {
80 | title: "Dual Super-Resolution Learning for Semantic Segmentation",
81 | authors: "Wang, Li and Li, Dong and Zhu, Yousong and Tian, Lu and Shan, Yi",
82 | conferences:
83 | "IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)",
84 | researchYr: 2020,
85 | citebox: "popup5",
86 | image: "assets/images/research-page/semanticSegmentation.png",
87 | citation: {
88 | vancouver:
89 | "Wang, Li and Li, Dong and Zhu, Yousong and Tian, Lu and Shan, Yi. Dual Super-Resolution Learning for Semantic Segmentation. IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) 2020.",
90 | },
91 | abstract:
92 | "This is currently left empty and this can be considered as a dummy data 5",
93 | absbox: "absPopup5",
94 | },
95 |
96 | {
97 | title: "Deep Unfolding Network for Image Super-Resolution",
98 | authors: "Zhang, Kai and Van Gool, Luc and Timofte, Radu",
99 | conferences:
100 | "IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)",
101 | researchYr: 2020,
102 | citebox: "popup6",
103 | image: "assets/images/research-page/deepNetwork.png",
104 | citation: {
105 | vancouver:
106 | "Zhang, Kai and Van Gool, Luc and Timofte, Radu. Deep Unfolding Network for Image Super-Resolution. IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) 2020.",
107 | },
108 | abstract:
109 | "This is currently left empty and this can be considered as a dummy data 6",
110 | absbox: "absPopup6",
111 | },
112 |
113 | {
114 | title:
115 | "Unsupervised Learning for Intrinsic Image Decomposition From a Single Image",
116 | authors: "Liu, Yunfei and Li, Yu and You, Shaodi and Lu, Feng",
117 | conferences:
118 | "IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)",
119 | researchYr: 2020,
120 | citebox: "popup7",
121 | image: "assets/images/research-page/imageDecomposition.png",
122 | citation: {
123 | vancouver:
124 | "Liu, Yunfei and Li, Yu and You, Shaodi and Lu, Feng. Unsupervised Learning for Intrinsic Image Decomposition From a Single Image. IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) 2020.",
125 | },
126 | abstract:
127 | "This is currently left empty and this can be considered as a dummy data 7",
128 | absbox: "absPopup7",
129 | },
130 | {
131 | title:
132 | "Forward and Backward Information Retention for Accurate Binary Neural Networks",
133 | authors:
134 | "Qin, Haotong and Gong, Ruihao and Liu, Xianglong and Shen, Mingzhu and Wei, Ziran and Yu, Fengwei and Song, Jingkuan",
135 | conferences:
136 | "IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)",
137 | researchYr: 2020,
138 | citebox: "popup8",
139 | image: "assets/images/research-page/neuralNetworks.jpg",
140 | citation: {
141 | vancouver:
142 | "Qin, Haotong and Gong, Ruihao and Liu, Xianglong and Shen, Mingzhu and Wei, Ziran and Yu, Fengwei and Song, Jingkuan. Forward and Backward Information Retention for Accurate Binary Neural Networks. IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) 2020.",
143 | },
144 | abstract:
145 | "This is currently left empty and this can be considered as a dummy data 8",
146 | absbox: "absPopup8",
147 | },
148 | ];
149 | AOS.init();
150 | const fillData = () => {
151 | let output = "";
152 | research.forEach(
153 | ({
154 | image,
155 | title,
156 | authors,
157 | conferences,
158 | researchYr,
159 | citebox,
160 | citation,
161 | absbox,
162 | abstract,
163 | }) =>
164 | (output += `
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 | ${title}
174 | ${authors}
175 |
176 | ${conferences}
177 |
${researchYr}
178 |
179 |
180 |
181 |
182 |
183 | ABSTRACT
184 |
185 |
186 |
187 | CITE
188 |
189 |
190 |
191 |
192 | ${abstract}
193 |
194 |
195 |
196 |
197 | ${citation.vancouver}
198 |
199 |
200 |
201 | `)
202 | );
203 | researchTable.innerHTML = output;
204 | };
205 | document.addEventListener("DOMContentLoaded", fillData);
206 |
--------------------------------------------------------------------------------
/js/techstack.js:
--------------------------------------------------------------------------------
1 | AOS.init();
2 |
3 | // Tech Stacks cards
4 |
5 | const techStackCards = document.querySelector(".techstack-box");
6 | const techStack = [
7 | {
8 | langImage: "assets/images/techstack-page/html.png",
9 | langName: "HyperText Markup Language",
10 | langDesc: "The HyperText Markup Language, or HTML is the standard markup language for documents designed to be displayed in a web browser ",
11 | },
12 | {
13 | langImage: "assets/images/techstack-page/css.png",
14 | langName: "Cascading Style Sheets",
15 | langDesc: "Cascading Style Sheets is a style sheet language used for describing the presentation of a document written in a markup language such as HTML ",
16 | },
17 | {
18 | langImage: "assets/images/techstack-page/javascript.png",
19 | langName: "JavaScript",
20 | langDesc: "JavaScript, often abbreviated JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS ",
21 | },
22 | {
23 | langImage: "assets/images/techstack-page/node.png",
24 | langName: "Node",
25 | langDesc: "Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser ",
26 | },
27 | {
28 | langImage: "assets/images/techstack-page/python.png",
29 | langName: "Python",
30 | langDesc: "Python is an interpreted high-level general-purpose programming language ",
31 | },
32 | {
33 | langImage: "assets/images/techstack-page/cpp.png",
34 | langName: "C++",
35 | langDesc: "C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or C with Classes ",
36 | },
37 | {
38 | langImage: "assets/images/techstack-page/git.png",
39 | langName: "Git",
40 | langDesc: "Git is software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. ",
41 | },
42 | {
43 | langImage: "assets/images/techstack-page/bootstrap.png",
44 | langName: "Bootstrap",
45 | langDesc: "Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development ",
46 | },
47 | {
48 | langImage: "assets/images/techstack-page/react.png",
49 | langName: "React",
50 | langDesc: "React is a free and open-source front-end JavaScript library for building user interfaces based on UI components ",
51 | },
52 | {
53 | langImage:"assets/images/techstack-page/c.png",
54 | langName:"C",
55 | langDesc:"C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system "
56 | },
57 | ];
58 |
59 | const displayTechStacksCards = () => {
60 | const entireCardTemplate =
61 | techStack.map((stack)=> {
62 | return `
63 |
64 |
65 |
66 |
67 |
68 |
78 |
79 |
80 | `}).join('');
81 | techStackCards.innerHTML = entireCardTemplate;
82 | };
83 | // displayTechStacksCards(techStack)
84 | document.addEventListener("DOMContentLoaded", displayTechStacksCards);
85 |
--------------------------------------------------------------------------------
/js/travel_temp.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", () => {
2 | /* dynamic load */
3 | const travelSummary = document.querySelector(".main");
4 |
5 | // json variable for injecting html into DOM
6 | const travel_data = [
7 | {
8 | day: "Day 1",
9 | description: "description",
10 | background_image: "assets/images/travel/trip1/street.jpg"
11 | },
12 | {
13 | day: "Day 2",
14 | description: "description",
15 | background_image: "assets/images/travel/trip1/qutub_minar.jpg"
16 | },
17 | {
18 | day: "Day 3",
19 | description: "description",
20 | background_image: "assets/images/travel/trip1/lotus_temple.jpg"
21 | },
22 | {
23 | day: "Day 4",
24 | description: "description",
25 | background_image: "assets/images/travel/trip1/old_fort.jpg"
26 | },
27 | {
28 | day: "Day 5",
29 | description: "description",
30 | background_image: "assets/images/travel/trip1/red_fort.jpg"
31 | }
32 | ];
33 |
34 | // AOS.init();
35 | const fillData = () => {
36 | let output = "";
37 | travel_data.forEach(
38 | ({ day, description, background_image }, index) => {
39 | output += `
40 |
41 |
42 |
43 |
44 |
45 |
${day}
46 |
47 |
48 |
${description}
49 |
50 |
51 |
52 |
53 |
54 |
${index + 1}
55 |
58 |
59 |
`
60 |
61 | /* adding style to stylesheet */
62 | document.styleSheets[0].addRule(`.el:nth-child(${index + 1}) .el__bg:before`, `background-image: url("${background_image}");`);
63 |
64 | });
65 |
66 | travelSummary.innerHTML = output;
67 |
68 | };
69 |
70 | fillData();
71 |
72 | // document.addEventListener("DOMContentLoaded", fillData);
73 | /* dynamic load */
74 |
75 | var $cont = document.querySelector('.cont');
76 | var $elsArr = [].slice.call(document.querySelectorAll('.el'));
77 | var $closeBtnsArr = [].slice.call(document.querySelectorAll('.el__close-btn'));
78 |
79 | setTimeout(function () {
80 | $cont.classList.remove('s--inactive');
81 | }, 200);
82 |
83 | $elsArr.forEach(function ($el) {
84 | $el.addEventListener('click', function () {
85 | if (this.classList.contains('s--active')) return;
86 |
87 | /* added */
88 | const mediaQuery = window.matchMedia('(max-width: 700px)')
89 | // Check if the media query is true
90 | if (mediaQuery.matches) {
91 | $cont.style.height = "80vh";
92 | }
93 | else {
94 | $cont.style.height = "120vh";
95 | }
96 |
97 | document.styleSheets[0].addRule(".el__bg:before", "background-repeat: no-repeat; background-size: contain !important; background-position: center center !important;");
98 | /* added */
99 |
100 | $cont.classList.add('s--el-active');
101 | this.classList.add('s--active');
102 | });
103 | });
104 |
105 | $closeBtnsArr.forEach(function ($btn) {
106 | $btn.addEventListener('click', function (e) {
107 |
108 | /* added */
109 | $cont.style.height = "70vh";
110 | document.styleSheets[0].addRule(".el__bg:before", "background-size: 100% 100% !important;");
111 | /* added */
112 |
113 | e.stopPropagation();
114 | $cont.classList.remove('s--el-active');
115 | document.querySelector('.el.s--active').classList.remove('s--active');
116 | });
117 | });
118 | });
119 |
--------------------------------------------------------------------------------
/project-page/header-female.svg:
--------------------------------------------------------------------------------
1 | Organizing projects
--------------------------------------------------------------------------------
/project-page/header-male.svg:
--------------------------------------------------------------------------------
1 | Designer
--------------------------------------------------------------------------------