diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..4c7ff40
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "liveServer.settings.port": 5502
+}
diff --git a/assets/css/style.css b/assets/css/style.css
index e3bafef..fcf81bd 100644
--- a/assets/css/style.css
+++ b/assets/css/style.css
@@ -2,21 +2,15 @@
#style.css
\*-----------------------------------*/
-
/**
* copyright 2022 @codewithsadee
*/
-
-
-
-
/*-----------------------------------*\
#CUSTOM PROPERTY
\*-----------------------------------*/
:root {
-
/**
* colors
*/
@@ -24,39 +18,53 @@
/* gradient */
--bg-gradient-onyx: linear-gradient(
- to bottom right,
- hsl(240, 1%, 25%) 3%,
+ to bottom right,
+ hsl(240, 1%, 25%) 3%,
hsl(0, 0%, 19%) 97%
);
--bg-gradient-jet: linear-gradient(
- to bottom right,
- hsla(240, 1%, 18%, 0.251) 0%,
- hsla(240, 2%, 11%, 0) 100%
- ), hsl(240, 2%, 13%);
+ to bottom right,
+ hsla(240, 1%, 18%, 0.251) 0%,
+ hsla(240, 2%, 11%, 0) 100%
+ ),
+ hsl(240, 2%, 13%);
+ --btn-bg-gradient-jet: linear-gradient(
+ to bottom right,
+ hsla(240, 1%, 18%, 0.251) 0%,
+ hsla(240, 2%, 11%, 0) 100%
+ ),
+ hsl(240, 2%, 13%);
--bg-gradient-yellow-1: linear-gradient(
- to bottom right,
- hsl(45, 100%, 71%) 0%,
+ to bottom right,
+ hsl(45, 100%, 71%) 0%,
hsla(36, 100%, 69%, 0) 50%
);
--bg-gradient-yellow-2: linear-gradient(
- 135deg,
- hsla(45, 100%, 71%, 0.251) 0%,
- hsla(35, 100%, 68%, 0) 59.86%
- ), hsl(240, 2%, 13%);
+ 135deg,
+ hsla(45, 100%, 71%, 0.251) 0%,
+ hsla(35, 100%, 68%, 0) 59.86%
+ ),
+ hsl(240, 2%, 13%);
--border-gradient-onyx: linear-gradient(
- to bottom right,
- hsl(0, 0%, 25%) 0%,
+ to bottom right,
+ hsl(0, 0%, 25%) 0%,
+ hsla(0, 0%, 25%, 0) 50%
+ );
+ --show-more-bg-gradient-onyx: linear-gradient(
+ to bottom right,
+ hsl(0, 0%, 25%) 0%,
hsla(0, 0%, 25%, 0) 50%
);
--text-gradient-yellow: linear-gradient(
- to right,
- hsl(45, 100%, 72%),
+ to right,
+ hsl(45, 100%, 72%),
hsl(35, 100%, 68%)
);
/* solid */
--jet: hsl(0, 0%, 22%);
+ --skills-bg-jet: hsl(0, 0%, 22%);
--onyx: hsl(240, 1%, 17%);
--eerie-black-1: hsl(240, 2%, 13%);
--eerie-black-2: hsl(240, 2%, 12%);
@@ -64,17 +72,26 @@
--white-1: hsl(0, 0%, 100%);
--white-2: hsl(0, 0%, 98%);
--orange-yellow-crayola: hsl(45, 100%, 72%);
+ --icon-color: hsl(45, 100%, 72%);
+ --title-orange-yellow-crayola: hsl(45, 100%, 72%);
+
+ --nav-bg-color: hsla(240, 1%, 17%, 0.75);
--vegas-gold: hsl(45, 54%, 58%);
+ --nav-light-gray: hsl(0, 0%, 84%);
--light-gray: hsl(0, 0%, 84%);
+ --nav-link-active: hsl(45, 100%, 72%);
--light-gray-70: hsla(0, 0%, 84%, 0.7);
--bittersweet-shimmer: hsl(0, 43%, 51%);
+ --map-box-filter: grayscale(1) invert(1);
+ --clint-logo-filter-hover: none;
+ --clint-logo-filter: grayscale(1);
/**
* typography
*/
/* font-family */
- --ff-poppins: 'Poppins', sans-serif;
+ --ff-poppins: "Poppins", sans-serif;
/* font-size */
--fs-1: 24px;
@@ -95,7 +112,7 @@
/**
* shadow
*/
-
+
--shadow-1: -4px 8px 24px hsla(0, 0%, 0%, 0.25);
--shadow-2: 0 16px 30px hsla(0, 0%, 0%, 0.25);
--shadow-3: 0 16px 40px hsla(0, 0%, 0%, 0.25);
@@ -108,28 +125,126 @@
--transition-1: 0.25s ease;
--transition-2: 0.5s ease-in-out;
-
}
+/*-----------------------------------*\
+ #APPLAYING LIGHT MODE
+\*-----------------------------------*/
+
+.light-mode {
+ --jet: #ffcd6b;
+ --skills-bg-jet: #ded0b6db;
+
+ --eerie-black-2: #fff9ef;
+ --onyx: #f4ebdbdb;
+ --icon-color: #c67a01;
+ --nav-bg-color: linear-gradient(
+ to bottom right,
+ hsl(36, 46%, 75%) 3%,
+ hsl(50, 43%, 68%) 97%
+ );
+
+ --nav-light-gray: hsl(0, 0%, 99%);
+ --light-gray: #403f3f;
+ --light-gray-70: #6d6b6b;
+ --nav-link-active: #000;
+ --menu-bar-text: hsl(0, 0%, 99%);
+ --bg-gradient-jet: #f4ebdb;
+ --text-orange-yellow-crayola: #6d6b6b;
+ --title-orange-yellow-crayola: #efa125;
+ --orange-yellow-crayola: hsl(0, 0%, 99%);
+ --active-link-color: #000;
+ --smoky-black: #f9f7f7;
+ --white-1: hsl(0, 2%, 10%);
+ --white-2: hsl(0, 1%, 20%);
+ --eerie-black-1: #f0e3ce;
+ --map-box-filter: none;
+ --ops-text-color: #fff;
+ --clint-logo-filter-hover: invert(73%) sepia(70%) saturate(6168%)
+ hue-rotate(16deg) brightness(94%) contrast(50%);
+ --clint-logo-filter: invert(61%) sepia(0%) saturate(96%) hue-rotate(191deg)
+ brightness(94%) contrast(82%);
+ --bg-gradient-onyx: linear-gradient(
+ to bottom right,
+ hsl(36, 46%, 75%) 3%,
+ hsl(50, 43%, 68%) 97%
+ );
+ --btn-bg-gradient-jet: linear-gradient(
+ to bottom right,
+ hsl(36, 46%, 75%) 3%,
+ hsl(50, 43%, 68%) 97%
+ );
+ --bg-gradient-yellow-1: linear-gradient(
+ to bottom right,
+ hsl(36, 81%, 77%) 3%,
+ hsl(51, 79%, 74%) 97%
+ );
+ --bg-gradient-yellow-2: linear-gradient(
+ 135deg,
+ hsl(36, 81%, 77%) 3%,
+ hsl(51, 48%, 64%) 97%
+ ),
+ hsl(36, 81%, 77%);
+ --menu-gradient-onyx: linear-gradient(
+ to bottom right,
+ #ebe1cb,
+ hsl(50, 43%, 68%) 97%
+ );
+ --border-gradient-onyx: linear-gradient(
+ to bottom right,
+ #d7c596,
+ #e9e9e9 100%
+ );
+ --show-more-bg-gradient-onyx: linear-gradient(
+ to bottom right,
+ hsl(36, 46%, 75%) 0%,
+ hsl(51, 59%, 73%) 10%
+ );
+ --gradient-yellow: linear-gradient(
+ to right,
+ hsl(39, 93%, 69%),
+ hsl(35, 90%, 54%)
+ );
+ color: black;
+ --nav-link-active: #000;
+ --shadow-1: 0px 4px 14px hsla(0, 0%, 0%, 0.1);
+ --shadow-2: -4px 8px 24px hsla(0, 0%, 0%, 0.1);
+ --shadow-3: 0 16px 40px hsla(0, 0%, 0%, 0.1);
+ --shadow-4: 0 25px 50px hsla(0, 0%, 0%, 0.05);
+ --shadow-5: 0 24px 80px hsla(0, 0%, 0%, 0.1);
+}
/*-----------------------------------*\
#RESET
\*-----------------------------------*/
-*, *::before, *::after {
+*,
+*::before,
+*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
-a { text-decoration: none; }
+a {
+ text-decoration: none;
+}
-li { list-style: none; }
+li {
+ list-style: none;
+}
-img, ion-icon, a, button, time, span { display: block; }
+img,
+ion-icon,
+a,
+button,
+time,
+span {
+ display: block;
+}
button {
font: inherit;
@@ -139,7 +254,8 @@ button {
cursor: pointer;
}
-input, textarea {
+input,
+textarea {
display: block;
width: 100%;
background: none;
@@ -147,19 +263,22 @@ input, textarea {
}
::selection {
- background: var(--orange-yellow-crayola);
- color: var(--smoky-black);
+ background: var(--text-orange-yellow-crayola);
+ /* Change the background color of the selected text */
+ color: var(--eerie-black-2);
}
-:focus { outline-color: var(--orange-yellow-crayola); }
-
-html { font-family: var(--ff-poppins); }
-
-body { background: var(--smoky-black); }
-
-
+:focus {
+ outline-color: var(--orange-yellow-crayola);
+}
+html {
+ font-family: var(--ff-poppins);
+}
+body {
+ background: var(--smoky-black);
+}
/*-----------------------------------*\
#REUSED STYLE
@@ -197,9 +316,8 @@ article {
z-index: 1;
}
/* social-media icons */
-.socials-icons{
- color: var(--orange-yellow-crayola);
-
+.socials-icons {
+ color: var(--icon-color);
}
.icon-box::before {
@@ -211,9 +329,50 @@ article {
z-index: -1;
}
-.icon-box ion-icon { --ionicon-stroke-width: 35px; }
+.icon-box ion-icon {
+ --ionicon-stroke-width: 35px;
+ color: var(--icon-color);
+}
-article { display: none; }
+/* Dark mode Light mode */
+
+.mode-toggle-btn {
+ height: 25px;
+ width: 45px;
+ overflow: hidden;
+ padding-inline: 2px;
+ display: flex;
+ align-items: center;
+ position: absolute;
+ right: 10px;
+ bottom: 10px;
+ transition: var(--transition-2);
+ background: var(--eerie-black-2);
+ border-radius: 20px;
+ border: solid 1px var(--jet);
+}
+.toggle-mode {
+ background: var(--bg-gradient-onyx);
+ display: flex;
+ border-radius: inherit;
+ justify-content: center;
+ border: 1px solid var(--jet);
+ padding: 3px;
+ transform: translateX(18px);
+ transition: var(--transition-1);
+}
+.toggle-mode img {
+ height: 13px;
+}
+
+.toggle-mode.light-mode {
+ transform: translateX(0);
+ transition: 0.3s ease-in-out;
+}
+
+article {
+ display: none;
+}
article.active {
display: block;
@@ -221,8 +380,12 @@ article.active {
}
@keyframes fade {
- 0% { opacity: 0; }
- 100% { opacity: 1; }
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
}
.h2,
@@ -233,11 +396,17 @@ article.active {
text-transform: capitalize;
}
-.h2 { font-size: var(--fs-1); }
+.h2 {
+ font-size: var(--fs-1);
+}
-.h3 { font-size: var(--fs-2); }
+.h3 {
+ font-size: var(--fs-2);
+}
-.h4 { font-size: var(--fs-4); }
+.h4 {
+ font-size: var(--fs-4);
+}
.h5 {
font-size: var(--fs-7);
@@ -271,11 +440,13 @@ article.active {
}
.has-scrollbar::-webkit-scrollbar-thumb {
- background: var(--orange-yellow-crayola);
+ background: var(--text-gradient-yellow);
border-radius: 5px;
}
-.has-scrollbar::-webkit-scrollbar-button { width: 20px; }
+.has-scrollbar::-webkit-scrollbar-button {
+ width: 20px;
+}
.content-card {
position: relative;
@@ -297,10 +468,6 @@ article.active {
z-index: -1;
}
-
-
-
-
/*-----------------------------------*\
#MAIN
\*-----------------------------------*/
@@ -311,22 +478,21 @@ main {
min-width: 259px;
}
-
-
-
-
/*-----------------------------------*\
#SIDEBAR
\*-----------------------------------*/
.sidebar {
+ position: relative;
margin-bottom: 15px;
max-height: 112px;
overflow: hidden;
transition: var(--transition-2);
}
-.sidebar.active { max-height: 405px; }
+.sidebar.active {
+ max-height: 405px;
+}
.sidebar-info {
position: relative;
@@ -366,7 +532,7 @@ main {
border-radius: 0 15px;
font-size: 13px;
color: var(--orange-yellow-crayola);
- background: var(--border-gradient-onyx);
+ background: var(--show-more-bg-gradient-onyx);
padding: 10px;
box-shadow: var(--shadow-2);
transition: var(--transition-1);
@@ -378,18 +544,24 @@ main {
position: absolute;
inset: 1px;
border-radius: inherit;
- background: var(--bg-gradient-jet);
+ background: var(--btn-bg-gradient-jet);
transition: var(--transition-1);
z-index: -1;
}
.info_more-btn:hover,
-.info_more-btn:focus { background: var(--bg-gradient-yellow-1); }
+.info_more-btn:focus {
+ background: var(--bg-gradient-yellow-1);
+}
.info_more-btn:hover::before,
-.info_more-btn:focus::before { background: var(--bg-gradient-yellow-2); }
+.info_more-btn:focus::before {
+ background: var(--bg-gradient-yellow-2);
+}
-.info_more-btn span { display: none; }
+.info_more-btn span {
+ display: none;
+}
.sidebar-info_more {
opacity: 0;
@@ -432,7 +604,9 @@ main {
font-size: var(--fs-7);
}
-.contact-info address { font-style: normal; }
+.contact-info address {
+ font-style: normal;
+}
.social-list {
display: flex;
@@ -448,12 +622,9 @@ main {
font-size: 18px;
}
-
-.social-item .social-link:hover { color: var(--light-gray); }
-
-
-
-
+.social-item .social-link:hover {
+ color: var(--light-gray);
+}
/*-----------------------------------*\
#NAVBAR
@@ -464,7 +635,7 @@ main {
bottom: 0;
left: 0;
width: 100%;
- background: hsla(240, 1%, 17%, 0.75);
+ background: var(--nav-bg-color);
backdrop-filter: blur(10px);
border: 1px solid var(--jet);
border-radius: 12px 12px 0 0;
@@ -481,26 +652,28 @@ main {
}
.navbar-link {
- color: var(--light-gray);
+ color: var(--nav-light-gray);
font-size: var(--fs-8);
padding: 20px 7px;
transition: color var(--transition-1);
}
.navbar-link:hover,
-.navbar-link:focus { color: var(--light-gray-70); }
-
-.navbar-link.active { color: var(--orange-yellow-crayola); }
-
-
-
+.navbar-link:focus {
+ color: var(--light-gray);
+}
+.navbar-link.active {
+ color: var(--nav-link-active);
+}
/*-----------------------------------*\
#ABOUT
\*-----------------------------------*/
-.about .article-title { margin-bottom: 15px; }
+.about .article-title {
+ margin-bottom: 15px;
+}
.about-text {
color: var(--light-gray);
@@ -509,17 +682,21 @@ main {
line-height: 1.6;
}
-.about-text p { margin-bottom: 15px; }
-
-
+.about-text p {
+ margin-bottom: 15px;
+}
/**
* #service
*/
-.service { margin-bottom: 35px; }
+.service {
+ margin-bottom: 35px;
+}
-.service-title { margin-bottom: 20px; }
+.service-title {
+ margin-bottom: 20px;
+}
.service-list {
display: grid;
@@ -545,13 +722,21 @@ main {
z-index: -1;
}
-.service-icon-box { margin-bottom: 10px; }
+.service-icon-box {
+ margin-bottom: 10px;
+}
-.service-icon-box img { margin: auto; }
+.service-icon-box svg {
+ margin: auto;
+}
-.service-content-box { text-align: center; }
+.service-content-box {
+ text-align: center;
+}
-.service-item-title { margin-bottom: 7px; }
+.service-item-title {
+ margin-bottom: 7px;
+}
.service-item-text {
color: var(--light-gray);
@@ -560,14 +745,17 @@ main {
line-height: 1.6;
}
-
/**
* #testimonials
*/
-.testimonials { margin-bottom: 30px; }
+.testimonials {
+ margin-bottom: 30px;
+}
-.testimonials-title { margin-bottom: 20px; }
+.testimonials-title {
+ margin-bottom: 20px;
+}
.testimonials-list {
display: flex;
@@ -598,7 +786,9 @@ main {
box-shadow: var(--shadow-1);
}
-.testimonials-item-title { margin-bottom: 7px; }
+.testimonials-item-title {
+ margin-bottom: 7px;
+}
.testimonials-text {
color: var(--light-gray);
@@ -612,7 +802,6 @@ main {
overflow: hidden;
}
-
/**
* #testimonials-modal
*/
@@ -633,7 +822,9 @@ main {
visibility: hidden;
}
-.modal-container::-webkit-scrollbar { display: none; }
+.modal-container::-webkit-scrollbar {
+ display: none;
+}
.modal-container.active {
pointer-events: all;
@@ -696,9 +887,13 @@ main {
}
.modal-close-btn:hover,
-.modal-close-btn:focus { opacity: 1; }
+.modal-close-btn:focus {
+ opacity: 1;
+}
-.modal-close-btn ion-icon { --ionicon-stroke-width: 50px; }
+.modal-close-btn ion-icon {
+ --ionicon-stroke-width: 50px;
+}
.modal-avatar-box {
background: var(--bg-gradient-onyx);
@@ -708,9 +903,13 @@ main {
box-shadow: var(--shadow-2);
}
-.modal-img-wrapper > img { display: none; }
+.modal-img-wrapper > svg {
+ display: none;
+}
-.modal-title { margin-bottom: 4px; }
+.modal-title {
+ margin-bottom: 4px;
+}
.modal-content time {
font-size: var(--fs-6);
@@ -726,12 +925,13 @@ main {
line-height: 1.6;
}
-
/**
* #clients
*/
-.clients { margin-bottom: 15px; }
+.clients {
+ margin-bottom: 15px;
+}
.clients-list {
display: flex;
@@ -755,28 +955,29 @@ main {
.clients-item img {
width: 100%;
- filter: grayscale(1);
- transition: var(--transition-1);
+ filter: var(--clint-logo-filter);
+ /* transition: var(--transition-1); */
}
-.clients-item img:hover { filter: grayscale(0); }
-
-
-
-
+.clients-item img:hover {
+ filter: var(--clint-logo-filter-hover);
+}
/*-----------------------------------*\
#RESUME
\*-----------------------------------*/
-.article-title { margin-bottom: 30px; }
-
+.article-title {
+ margin-bottom: 30px;
+}
/**
* education and experience
*/
-.timeline { margin-bottom: 30px; }
+.timeline {
+ margin-bottom: 30px;
+}
.timeline .title-wrapper {
display: flex;
@@ -790,9 +991,13 @@ main {
margin-left: 45px;
}
-.timeline-item { position: relative; }
+.timeline-item {
+ position: relative;
+}
-.timeline-item:not(:last-child) { margin-bottom: 20px; }
+.timeline-item:not(:last-child) {
+ margin-bottom: 20px;
+}
.timeline-item-title {
font-size: var(--fs-6);
@@ -823,9 +1028,9 @@ main {
left: -33px;
height: 6px;
width: 6px;
- background: var(--text-gradient-yellow);
+ background: var(--icon-color);
border-radius: 50%;
- box-shadow: 0 0 0 4px var(--jet);
+ box-shadow: 0 0 0 4px var(--skills-bg-jet);
}
.timeline-text {
@@ -834,17 +1039,21 @@ main {
line-height: 1.6;
}
-
/**
* skills
*/
-.skills-title { margin-bottom: 20px; }
-
-.skills-list { padding: 20px; }
+.skills-title {
+ margin-bottom: 20px;
+}
+.skills-list {
+ padding: 20px;
+}
-.skills-item:not(:last-child) { margin-bottom: 15px; }
+.skills-item:not(:last-child) {
+ margin-bottom: 15px;
+}
.skill .title-wrapper {
display: flex;
@@ -860,7 +1069,7 @@ main {
}
.skill-progress-bg {
- background: var(--jet);
+ background: var(--skills-bg-jet);
width: 100%;
height: 8px;
border-radius: 10px;
@@ -872,15 +1081,13 @@ main {
border-radius: inherit;
}
-
-
-
-
/*-----------------------------------*\
#PORTFOLIO
\*-----------------------------------*/
-.filter-list { display: none; }
+.filter-list {
+ display: none;
+}
.filter-select-box {
position: relative;
@@ -901,7 +1108,9 @@ main {
font-weight: var(--fw-300);
}
-.filter-select.active .select-icon { transform: rotate(0.5turn); }
+.filter-select.active .select-icon {
+ transform: rotate(0.5turn);
+}
.select-list {
background: var(--eerie-black-2);
@@ -935,7 +1144,9 @@ main {
border-radius: 8px;
}
-.select-item button:hover { --eerie-black-2: hsl(240, 2%, 20%); }
+.select-item button:hover {
+ --eerie-black-2: var(--jet);
+}
.project-list {
display: grid;
@@ -944,7 +1155,9 @@ main {
margin-bottom: 10px;
}
-.project-item { display: none; }
+.project-item {
+ display: none;
+}
.project-item.active {
display: block;
@@ -952,11 +1165,17 @@ main {
}
@keyframes scaleUp {
- 0% { transform: scale(0.5); }
- 100% { transform: scale(1); }
+ 0% {
+ transform: scale(0.5);
+ }
+ 100% {
+ transform: scale(1);
+ }
}
-.project-item > a { width: 100%; }
+.project-item > a {
+ width: 100%;
+}
.project-img {
position: relative;
@@ -979,13 +1198,14 @@ main {
transition: var(--transition-1);
}
-.project-item > a:hover .project-img::before { background: hsla(0, 0%, 0%, 0.5); }
+.project-item > a:hover .project-img::before {
+ background: hsla(0, 0%, 0%, 0.5);
+}
.project-item-icon-box {
--scale: 0.8;
-
- background: var(--jet);
- color: var(--orange-yellow-crayola);
+ background: var(--onyx);
+ color: var(--icon-color);
position: absolute;
top: 50%;
left: 50%;
@@ -1003,19 +1223,26 @@ main {
opacity: 1;
}
-.project-item-icon-box ion-icon { --ionicon-stroke-width: 50px; }
+.project-item-icon-box ion-icon {
+ --ionicon-stroke-width: 50px;
+}
.project-img img {
width: 100%;
height: 100%;
object-fit: cover;
+
transition: var(--transition-1);
}
-.project-item > a:hover img { transform: scale(1.1); }
+.project-item > a:hover img {
+ transform: scale(1.1);
+}
.project-title,
-.project-category { margin-left: 10px; }
+.project-category {
+ margin-left: 10px;
+}
.project-title {
color: var(--white-2);
@@ -1031,15 +1258,13 @@ main {
font-weight: var(--fw-300);
}
-
-
-
-
/*-----------------------------------*\
#BLOG
\*-----------------------------------*/
-.blog-posts { margin-bottom: 10px; }
+.blog-posts {
+ margin-bottom: 10px;
+}
.blog-posts-list {
display: grid;
@@ -1079,9 +1304,13 @@ main {
transition: var(--transition-1);
}
-.blog-post-item > a:hover .blog-banner-box img { transform: scale(1.1); }
+.blog-post-item > a:hover .blog-banner-box img {
+ transform: scale(1.1);
+}
-.blog-content { padding: 15px; }
+.blog-content {
+ padding: 15px;
+}
.blog-meta {
display: flex;
@@ -1110,7 +1339,9 @@ main {
transition: var(--transition-1);
}
-.blog-post-item > a:hover .blog-item-title { color: var(--orange-yellow-crayola); }
+.blog-post-item > a:hover .blog-item-title {
+ color: var(--title-orange-yellow-crayola);
+}
.blog-text {
color: var(--light-gray);
@@ -1119,10 +1350,6 @@ main {
line-height: 1.6;
}
-
-
-
-
/*-----------------------------------*\
#CONTACT
\*-----------------------------------*/
@@ -1137,18 +1364,24 @@ main {
overflow: hidden;
}
-.mapbox figure { height: 100%; }
+.mapbox figure {
+ height: 100%;
+}
.mapbox iframe {
width: 100%;
height: 100%;
border: none;
- filter: grayscale(1) invert(1);
+ filter: var(--map-box-filter);
}
-.contact-form { margin-bottom: 10px; }
+.contact-form {
+ margin-bottom: 10px;
+}
-.form-title { margin-bottom: 20px; }
+.form-title {
+ margin-bottom: 20px;
+}
.input-wrapper {
display: grid;
@@ -1167,9 +1400,13 @@ main {
outline: none;
}
-.form-input::placeholder { font-weight: var(--fw-500); }
+.form-input::placeholder {
+ font-weight: var(--fw-500);
+}
-.form-input:focus { border-color: var(--orange-yellow-crayola); }
+.form-input:focus {
+ border-color: var(--orange-yellow-crayola);
+}
textarea.form-input {
min-height: 100px;
@@ -1179,15 +1416,19 @@ textarea.form-input {
margin-bottom: 25px;
}
-textarea.form-input::-webkit-resizer { display: none; }
+textarea.form-input::-webkit-resizer {
+ display: none;
+}
-.form-input:focus:invalid { border-color: var(--bittersweet-shimmer); }
+.form-input:focus:invalid {
+ border-color: var(--bittersweet-shimmer);
+}
.form-btn {
position: relative;
width: 100%;
background: var(--border-gradient-onyx);
- color: var(--orange-yellow-crayola);
+ color: var(--nav-link-active);
display: flex;
justify-content: center;
align-items: center;
@@ -1211,24 +1452,31 @@ textarea.form-input::-webkit-resizer { display: none; }
transition: var(--transition-1);
}
-.form-btn ion-icon { font-size: 16px; }
+.form-btn ion-icon {
+ font-size: 16px;
+ color: var(--icon-color);
+}
-.form-btn:hover { background: var(--bg-gradient-yellow-1); }
+.form-btn:hover {
+ background: var(--bg-gradient-yellow-1);
+}
-.form-btn:hover::before { background: var(--bg-gradient-yellow-2); }
+.form-btn:hover::before {
+ background: var(--bg-gradient-yellow-2);
+}
.form-btn:disabled {
opacity: 0.7;
cursor: not-allowed;
}
-.form-btn:disabled:hover { background: var(--border-gradient-onyx); }
-
-.form-btn:disabled:hover::before { background: var(--bg-gradient-jet); }
-
-
-
+.form-btn:disabled:hover {
+ background: var(--border-gradient-onyx);
+}
+.form-btn:disabled:hover::before {
+ background: var(--bg-gradient-jet);
+}
/*-----------------------------------*\
#RESPONSIVE
@@ -1239,40 +1487,34 @@ textarea.form-input::-webkit-resizer { display: none; }
*/
@media (min-width: 450px) {
-
/**
* client
*/
- .clients-item { min-width: calc(33.33% - 10px); }
-
-
+ .clients-item {
+ min-width: calc(33.33% - 10px);
+ }
/**
* #PORTFOLIO, BLOG
*/
.project-img,
- .blog-banner-box { height: auto; }
-
+ .blog-banner-box {
+ height: auto;
+ }
}
-
-
-
-
/**
* responsive larger than 580px screen
*/
@media (min-width: 580px) {
-
/**
* CUSTOM PROPERTY
*/
:root {
-
/**
* typography
*/
@@ -1284,16 +1526,14 @@ textarea.form-input::-webkit-resizer { display: none; }
--fs-6: 15px;
--fs-7: 15px;
--fs-8: 12px;
-
}
-
-
/**
* #REUSED STYLE
*/
- .sidebar, article {
+ .sidebar,
+ article {
width: 520px;
margin-inline: auto;
padding: 30px;
@@ -1316,8 +1556,6 @@ textarea.form-input::-webkit-resizer { display: none; }
font-size: 18px;
}
-
-
/**
* #MAIN
*/
@@ -1327,8 +1565,6 @@ textarea.form-input::-webkit-resizer { display: none; }
margin-bottom: 100px;
}
-
-
/**
* #SIDEBAR
*/
@@ -1338,17 +1574,29 @@ textarea.form-input::-webkit-resizer { display: none; }
margin-bottom: 30px;
}
- .sidebar.active { max-height: 584px; }
+ .sidebar.active {
+ max-height: 584px;
+ }
- .sidebar-info { gap: 25px; }
+ .sidebar-info {
+ gap: 25px;
+ }
- .avatar-box { border-radius: 30px; }
+ .avatar-box {
+ border-radius: 30px;
+ }
- .avatar-box img { width: 120px; }
+ .avatar-box img {
+ width: 120px;
+ }
- .info-content .name { margin-bottom: 15px; }
+ .info-content .name {
+ margin-bottom: 15px;
+ }
- .info-content .title { padding: 5px 18px; }
+ .info-content .title {
+ padding: 5px 18px;
+ }
.info_more-btn {
top: -30px;
@@ -1361,38 +1609,50 @@ textarea.form-input::-webkit-resizer { display: none; }
font-size: var(--fs-8);
}
- .info_more-btn ion-icon { display: none; }
+ .info_more-btn ion-icon {
+ display: none;
+ }
- .separator { margin: 32px 0; }
+ .separator {
+ margin: 32px 0;
+ }
- .contacts-list { gap: 20px; }
+ .contacts-list {
+ gap: 20px;
+ }
.contact-info {
max-width: calc(100% - 64px);
width: calc(100% - 64px);
}
-
-
/**
* #NAVBAR
*/
- .navbar { border-radius: 20px 20px 0 0; }
-
- .navbar-list { gap: 20px; }
-
- .navbar-link { --fs-8: 14px; }
+ .navbar {
+ border-radius: 20px 20px 0 0;
+ }
+ .navbar-list {
+ gap: 20px;
+ }
+ .navbar-link {
+ --fs-8: 14px;
+ }
/**
* #ABOUT
*/
- .about .article-title { margin-bottom: 20px; }
+ .about .article-title {
+ margin-bottom: 20px;
+ }
- .about-text { margin-bottom: 40px; }
+ .about-text {
+ margin-bottom: 40px;
+ }
/* service */
@@ -1409,11 +1669,15 @@ textarea.form-input::-webkit-resizer { display: none; }
margin-top: 5px;
}
- .service-content-box { text-align: left; }
+ .service-content-box {
+ text-align: left;
+ }
/* testimonials */
- .testimonials-title { margin-bottom: 25px; }
+ .testimonials-title {
+ margin-bottom: 25px;
+ }
.testimonials-list {
gap: 30px;
@@ -1432,7 +1696,9 @@ textarea.form-input::-webkit-resizer { display: none; }
border-radius: 20px;
}
- .testimonials-avatar-box img { width: 80px; }
+ .testimonials-avatar-box img {
+ width: 80px;
+ }
.testimonials-item-title {
margin-bottom: 10px;
@@ -1446,7 +1712,9 @@ textarea.form-input::-webkit-resizer { display: none; }
/* testimonials modal */
- .modal-container { padding: 20px; }
+ .modal-container {
+ padding: 20px;
+ }
.testimonials-modal {
display: flex;
@@ -1468,9 +1736,11 @@ textarea.form-input::-webkit-resizer { display: none; }
margin-bottom: 0;
}
- .modal-avatar-box img { width: 65px; }
+ .modal-avatar-box img {
+ width: 65px;
+ }
- .modal-img-wrapper > img {
+ .modal-img-wrapper > svg {
display: block;
flex-grow: 1;
width: 35px;
@@ -1485,17 +1755,21 @@ textarea.form-input::-webkit-resizer { display: none; }
scroll-padding-inline: 45px;
}
- .clients-item { min-width: calc(33.33% - 35px); }
-
-
+ .clients-item {
+ min-width: calc(33.33% - 35px);
+ }
/**
* #RESUME
*/
- .timeline-list { margin-left: 65px; }
+ .timeline-list {
+ margin-left: 65px;
+ }
- .timeline-item:not(:last-child)::before { left: -40px; }
+ .timeline-item:not(:last-child)::before {
+ left: -40px;
+ }
.timeline-item::after {
height: 8px;
@@ -1503,21 +1777,26 @@ textarea.form-input::-webkit-resizer { display: none; }
left: -43px;
}
- .skills-item:not(:last-child) { margin-bottom: 25px; }
-
-
+ .skills-item:not(:last-child) {
+ margin-bottom: 25px;
+ }
/**
* #PORTFOLIO, BLOG
*/
- .project-img, .blog-banner-box { border-radius: 16px; }
-
- .blog-posts-list { gap: 30px; }
-
- .blog-content { padding: 25px; }
+ .project-img,
+ .blog-banner-box {
+ border-radius: 16px;
+ }
+ .blog-posts-list {
+ gap: 30px;
+ }
+ .blog-content {
+ padding: 25px;
+ }
/**
* #CONTACT
@@ -1533,38 +1812,41 @@ textarea.form-input::-webkit-resizer { display: none; }
margin-bottom: 30px;
}
- .form-input { padding: 15px 20px; }
+ .form-input {
+ padding: 15px 20px;
+ }
- textarea.form-input { margin-bottom: 30px; }
+ textarea.form-input {
+ margin-bottom: 30px;
+ }
.form-btn {
--fs-6: 16px;
padding: 16px 20px;
}
- .form-btn ion-icon { font-size: 18px; }
-
+ .form-btn ion-icon {
+ font-size: 18px;
+ }
}
-
-
-
-
/**
* responsive larger than 768px screen
*/
@media (min-width: 768px) {
-
/**
* REUSED STYLE
*/
- .sidebar, article { width: 700px; }
-
- .has-scrollbar::-webkit-scrollbar-button { width: 100px; }
-
+ .sidebar,
+ article {
+ width: 700px;
+ }
+ .has-scrollbar::-webkit-scrollbar-button {
+ width: 100px;
+ }
/**
* SIDEBAR
@@ -1575,15 +1857,13 @@ textarea.form-input::-webkit-resizer { display: none; }
gap: 30px 15px;
}
-
-
/**
* NAVBAR
*/
- .navbar-link { --fs-8: 15px; }
-
-
+ .navbar-link {
+ --fs-8: 15px;
+ }
/**
* ABOUT
@@ -1596,17 +1876,21 @@ textarea.form-input::-webkit-resizer { display: none; }
max-width: 680px;
}
- .modal-avatar-box img { width: 80px; }
-
-
+ .modal-avatar-box img {
+ width: 80px;
+ }
/**
* PORTFOLIO
*/
- .article-title { padding-bottom: 20px; }
+ .article-title {
+ padding-bottom: 20px;
+ }
- .filter-select-box { display: none; }
+ .filter-select-box {
+ display: none;
+ }
.filter-list {
display: flex;
@@ -1623,45 +1907,45 @@ textarea.form-input::-webkit-resizer { display: none; }
transition: var(--transition-1);
}
- .filter-item button:hover { color: var(--light-gray-70); }
+ .filter-item button:hover {
+ color: var(--light-gray-70);
+ }
- .filter-item button.active { color: var(--orange-yellow-crayola); }
+ .filter-item button.active {
+ color: var(--icon-color);
+ }
/* portfolio and blog grid */
- .project-list, .blog-posts-list { grid-template-columns: 1fr 1fr; }
-
-
+ .project-list,
+ .blog-posts-list {
+ grid-template-columns: 1fr 1fr;
+ }
/**
* CONTACT
*/
- .input-wrapper { grid-template-columns: 1fr 1fr; }
+ .input-wrapper {
+ grid-template-columns: 1fr 1fr;
+ }
.form-btn {
width: max-content;
margin-left: auto;
}
-
}
-
-
-
-
/**
* responsive larger than 1024px screen
*/
@media (min-width: 1024px) {
-
/**
* CUSTOM PROPERTY
*/
:root {
-
/**
* shadow
*/
@@ -1669,27 +1953,29 @@ textarea.form-input::-webkit-resizer { display: none; }
--shadow-1: -4px 8px 24px hsla(0, 0%, 0%, 0.125);
--shadow-2: 0 16px 30px hsla(0, 0%, 0%, 0.125);
--shadow-3: 0 16px 40px hsla(0, 0%, 0%, 0.125);
-
}
-
-
+ .mode-toggle-btn {
+ bottom: 10px;
+ top: auto;
+ }
/**
* REUSED STYLE
*/
- .sidebar, article {
+ .sidebar,
+ article {
width: 950px;
box-shadow: var(--shadow-5);
}
-
-
/**
* MAIN
*/
- main { margin-bottom: 60px; }
+ main {
+ margin-bottom: 60px;
+ }
.main-content {
position: relative;
@@ -1697,8 +1983,6 @@ textarea.form-input::-webkit-resizer { display: none; }
margin: auto;
}
-
-
/**
* NAVBAR
*/
@@ -1720,9 +2004,9 @@ textarea.form-input::-webkit-resizer { display: none; }
padding: 0 20px;
}
- .navbar-link { font-weight: var(--fw-500); }
-
-
+ .navbar-link {
+ font-weight: var(--fw-500);
+ }
/**
* ABOUT
@@ -1737,71 +2021,82 @@ textarea.form-input::-webkit-resizer { display: none; }
/* testimonials */
- .testimonials-item { min-width: calc(50% - 15px); }
+ .testimonials-item {
+ min-width: calc(50% - 15px);
+ }
/* clients */
- .clients-item { min-width: calc(25% - 38px); }
-
-
+ .clients-item {
+ min-width: calc(25% - 38px);
+ }
/**
* PORTFOLIO
*/
- .project-list { grid-template-columns: repeat(3, 1fr); }
-
-
+ .project-list {
+ grid-template-columns: repeat(3, 1fr);
+ }
/**
* BLOG
*/
- .blog-banner-box { height: 230px; }
-
+ .blog-banner-box {
+ height: 230px;
+ }
}
-
-
-
-
/**
* responsive larger than 1250px screen
*/
@media (min-width: 1250px) {
-
/**
* RESET
*/
- body::-webkit-scrollbar { width: 20px; }
+ body::-webkit-scrollbar {
+ width: 20px;
+ }
- body::-webkit-scrollbar-track { background: var(--smoky-black); }
+ body::-webkit-scrollbar-track {
+ background: var(--smoky-black);
+ }
body::-webkit-scrollbar-thumb {
border: 5px solid var(--smoky-black);
background: hsla(0, 0%, 100%, 0.1);
border-radius: 20px;
box-shadow: inset 1px 1px 0 hsla(0, 0%, 100%, 0.11),
- inset -1px -1px 0 hsla(0, 0%, 100%, 0.11);
+ inset -1px -1px 0 hsla(0, 0%, 100%, 0.11);
}
- body::-webkit-scrollbar-thumb:hover { background: hsla(0, 0%, 100%, 0.15); }
-
- body::-webkit-scrollbar-button { height: 60px; }
-
+ body::-webkit-scrollbar-thumb:hover {
+ background: hsla(0, 0%, 100%, 0.15);
+ }
+ body::-webkit-scrollbar-button {
+ height: 60px;
+ }
/**
* REUSED STYLE
*/
- .sidebar, article { width: auto; }
-
- article { min-height: 100%; }
-
+ .sidebar,
+ article {
+ width: auto;
+ }
+ article {
+ min-height: 100%;
+ }
+ .mode-toggle-btn {
+ bottom: auto;
+ top: 10px;
+ }
/**
* MAIN
@@ -1822,8 +2117,6 @@ textarea.form-input::-webkit-resizer { display: none; }
margin: 0;
}
-
-
/**
* SIDEBAR
*/
@@ -1838,25 +2131,35 @@ textarea.form-input::-webkit-resizer { display: none; }
z-index: 1;
}
- .sidebar-info { flex-direction: column; }
+ .sidebar-info {
+ flex-direction: column;
+ }
- .avatar-box img { width: 150px; }
+ .avatar-box img {
+ width: 150px;
+ }
.info-content .name {
white-space: nowrap;
text-align: center;
}
- .info-content .title { margin: auto; }
+ .info-content .title {
+ margin: auto;
+ }
- .info_more-btn { display: none; }
+ .info_more-btn {
+ display: none;
+ }
.sidebar-info_more {
opacity: 1;
visibility: visible;
}
- .contacts-list { grid-template-columns: 1fr; }
+ .contacts-list {
+ grid-template-columns: 1fr;
+ }
.contact-info :is(.contact-link) {
white-space: nowrap;
@@ -1874,14 +2177,15 @@ textarea.form-input::-webkit-resizer { display: none; }
opacity: 0;
}
- .social-list { justify-content: center; }
-
-
+ .social-list {
+ justify-content: center;
+ }
/**
* RESUME
*/
- .timeline-text { max-width: 700px; }
-
-}
\ No newline at end of file
+ .timeline-text {
+ max-width: 700px;
+ }
+}
diff --git a/assets/images/moon.svg b/assets/images/moon.svg
new file mode 100644
index 0000000..cca8cbf
--- /dev/null
+++ b/assets/images/moon.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/assets/images/sun.svg b/assets/images/sun.svg
new file mode 100644
index 0000000..43340c6
--- /dev/null
+++ b/assets/images/sun.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/assets/js/script.js b/assets/js/script.js
index 6439a82..6c6dc5f 100644
--- a/assets/js/script.js
+++ b/assets/js/script.js
@@ -1,20 +1,18 @@
-'use strict';
-
-
+"use strict";
// element toggle function
-const elementToggleFunc = function (elem) { elem.classList.toggle("active"); }
-
-
+const elementToggleFunc = function (elem) {
+ elem.classList.toggle("active");
+};
// sidebar variables
const sidebar = document.querySelector("[data-sidebar]");
const sidebarBtn = document.querySelector("[data-sidebar-btn]");
// sidebar toggle functionality for mobile
-sidebarBtn.addEventListener("click", function () { elementToggleFunc(sidebar); });
-
-
+sidebarBtn.addEventListener("click", function () {
+ elementToggleFunc(sidebar);
+});
// testimonials variables
const testimonialsItem = document.querySelectorAll("[data-testimonials-item]");
@@ -31,47 +29,45 @@ const modalText = document.querySelector("[data-modal-text]");
const testimonialsModalFunc = function () {
modalContainer.classList.toggle("active");
overlay.classList.toggle("active");
-}
+};
// add click event to all modal items
for (let i = 0; i < testimonialsItem.length; i++) {
-
testimonialsItem[i].addEventListener("click", function () {
-
modalImg.src = this.querySelector("[data-testimonials-avatar]").src;
modalImg.alt = this.querySelector("[data-testimonials-avatar]").alt;
- modalTitle.innerHTML = this.querySelector("[data-testimonials-title]").innerHTML;
- modalText.innerHTML = this.querySelector("[data-testimonials-text]").innerHTML;
+ modalTitle.innerHTML = this.querySelector(
+ "[data-testimonials-title]"
+ ).innerHTML;
+ modalText.innerHTML = this.querySelector(
+ "[data-testimonials-text]"
+ ).innerHTML;
testimonialsModalFunc();
-
});
-
}
// add click event to modal close button
modalCloseBtn.addEventListener("click", testimonialsModalFunc);
overlay.addEventListener("click", testimonialsModalFunc);
-
-
// custom select variables
const select = document.querySelector("[data-select]");
const selectItems = document.querySelectorAll("[data-select-item]");
const selectValue = document.querySelector("[data-selecct-value]");
const filterBtn = document.querySelectorAll("[data-filter-btn]");
-select.addEventListener("click", function () { elementToggleFunc(this); });
+select.addEventListener("click", function () {
+ elementToggleFunc(this);
+});
// add event in all select items
for (let i = 0; i < selectItems.length; i++) {
selectItems[i].addEventListener("click", function () {
-
let selectedValue = this.innerText.toLowerCase();
selectValue.innerText = this.innerText;
elementToggleFunc(select);
filterFunc(selectedValue);
-
});
}
@@ -79,9 +75,7 @@ for (let i = 0; i < selectItems.length; i++) {
const filterItems = document.querySelectorAll("[data-filter-item]");
const filterFunc = function (selectedValue) {
-
for (let i = 0; i < filterItems.length; i++) {
-
if (selectedValue === "all") {
filterItems[i].classList.add("active");
} else if (selectedValue === filterItems[i].dataset.category) {
@@ -89,18 +83,14 @@ const filterFunc = function (selectedValue) {
} else {
filterItems[i].classList.remove("active");
}
-
}
-
-}
+};
// add event in all filter button items for large screen
let lastClickedBtn = filterBtn[0];
for (let i = 0; i < filterBtn.length; i++) {
-
filterBtn[i].addEventListener("click", function () {
-
let selectedValue = this.innerText.toLowerCase();
selectValue.innerText = this.innerText;
filterFunc(selectedValue);
@@ -108,13 +98,9 @@ for (let i = 0; i < filterBtn.length; i++) {
lastClickedBtn.classList.remove("active");
this.classList.add("active");
lastClickedBtn = this;
-
});
-
}
-
-
// contact form variables
const form = document.querySelector("[data-form]");
const formInputs = document.querySelectorAll("[data-form-input]");
@@ -123,19 +109,15 @@ const formBtn = document.querySelector("[data-form-btn]");
// add event to all form input field
for (let i = 0; i < formInputs.length; i++) {
formInputs[i].addEventListener("input", function () {
-
// check form validation
if (form.checkValidity()) {
formBtn.removeAttribute("disabled");
} else {
formBtn.setAttribute("disabled", "");
}
-
});
}
-
-
// page navigation variables
const navigationLinks = document.querySelectorAll("[data-nav-link]");
const pages = document.querySelectorAll("[data-page]");
@@ -143,7 +125,6 @@ const pages = document.querySelectorAll("[data-page]");
// add event to all nav link
for (let i = 0; i < navigationLinks.length; i++) {
navigationLinks[i].addEventListener("click", function () {
-
for (let i = 0; i < pages.length; i++) {
if (this.innerHTML.toLowerCase() === pages[i].dataset.page) {
pages[i].classList.add("active");
@@ -154,6 +135,31 @@ for (let i = 0; i < navigationLinks.length; i++) {
navigationLinks[i].classList.remove("active");
}
}
-
});
-}
\ No newline at end of file
+}
+
+// Applying Light mode...
+const modeToggleBtn = document.getElementById("mode-toggle-btn");
+const modeBtn = document.getElementById("mood-btn");
+const modeIcon = document.getElementById("mood-icon");
+const lightModeKey = "light-mode";
+
+const updateLightMode = (enabled) => {
+ // 1. Toggle the class on the body
+ document.body.classList.toggle("light-mode", enabled);
+ modeBtn.classList.toggle("light-mode", enabled);
+ modeIcon.src = enabled ? "assets/images/moon.svg" : "assets/images/sun.svg";
+
+ // 2. Update lightMode in localStorage
+ localStorage.setItem(lightModeKey, enabled ? "enabled" : null);
+};
+
+// Initialize light mode based on localStorage
+updateLightMode(localStorage.getItem(lightModeKey) === "enabled");
+
+// Toggle light mode when the button is clicked
+modeToggleBtn.addEventListener("click", () => {
+ // Toggle the current lightMode setting
+ updateLightMode(localStorage.getItem(lightModeKey) !== "enabled");
+ console.log(localStorage.getItem(lightModeKey) + " enabled");
+});
diff --git a/index.html b/index.html
index 5496a52..1a21aa8 100644
--- a/index.html
+++ b/index.html
@@ -1,1201 +1,1738 @@
+
+
+
+
+ vCard - Personal Portfolio
-
-
-
-
- vCard - Personal Portfolio
-
-
-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- About
-
-
-
- Resume
-
-
-
- Portfolio
-
-
-
- Blog
-
-
-
- Contact
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- I'm Creative Director and UI/UX Designer from Sydney, Australia, working in web development and print media.
- I enjoy
- turning complex problems into simple, beautiful and intuitive designs.
-
-
-
- My job is to build your website so that it is functional and user-friendly but at the same time attractive.
- Moreover, I
- add personal touch to your product and make sure that is eye-catching and easy to use. My aim is to bring
- across your
- message and identity in the most creative way. I created web design for many famous brand companies.
-
-
-
-
-
-
-
-
- What i'm doing
-
-
-
-
-
-
-
-
-
-
-
Web design
-
-
- The most modern and high-quality design made at a professional level.
-
-
-
-
-
-
-
-
-
-
-
-
-
Web development
-
-
- High-quality development of sites at the professional level.
-
-
-
-
-
-
-
-
-
-
-
-
-
Mobile apps
-
-
- Professional development of applications for iOS and Android.
-
-
-
-
-
-
-
-
-
-
-
-
-
Photography
-
-
- I make high-quality photos of any category at a professional level.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Daniel lewis
-
-
14 June, 2021
-
-
-
- Richard was hired to create a corporate identity. We were very pleased with the work done. She has a
- lot of experience
- and is very concerned about the needs of client. Lorem ipsum dolor sit amet, ullamcous cididt
- consectetur adipiscing
- elit, seds do et eiusmod tempor incididunt ut laborels dolore magnarels alia.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- University school of the arts
-
- 2007 — 2008
-
-
- Nemo enims ipsam voluptatem, blanditiis praesentium voluptum delenit atque corrupti, quos dolores et
- quas molestias
- exceptur.
-
-
-
-
-
-
- New york academy of art
-
- 2006 — 2007
-
-
- Ratione voluptatem sequi nesciunt, facere quisquams facere menda ossimus, omnis voluptas assumenda est
- omnis..
-
-
-
-
-
-
- High school of art and design
-
- 2002 — 2004
-
-
- Duis aute irure dolor in reprehenderit in voluptate, quila voluptas mag odit aut fugit, sed consequuntur
- magni dolores
- eos.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Creative director
-
- 2015 — Present
-
-
- Nemo enim ipsam voluptatem blanditiis praesentium voluptum delenit atque corrupti, quos dolores et qvuas
- molestias
- exceptur.
-
-
-
-
-
-
- Art director
-
- 2013 — 2015
-
-
- Nemo enims ipsam voluptatem, blanditiis praesentium voluptum delenit atque corrupti, quos dolores et
- quas molestias
- exceptur.
-
-
-
-
-
-
- Web designer
-
- 2010 — 2013
-
-
- Nemo enims ipsam voluptatem, blanditiis praesentium voluptum delenit atque corrupti, quos dolores et
- quas molestias
- exceptur.
-
-
-
-
-
-
-
-
-
-
- My skills
-
-
-
-
-
-
-
Web design
- 80%
-
-
-
-
-
-
-
-
-
-
Graphic design
- 70%
-
-
-
-
-
-
-
-
-
-
Branding
- 90%
-
-
-
-
-
-
-
-
-
-
WordPress
- 50%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- All
-
-
-
- Web design
-
-
-
- Applications
-
-
-
- Web development
-
-
-
-
-
-
-
-
- Select category
-
-
-
-
-
-
-
-
-
-
- All
-
-
-
- Web design
-
-
-
- Applications
-
-
-
- Web development
-
-
-
-
-
-
-