Rakesh's Web Development Portfolio
Rakesh's Web Development Portfolio
1. INDEX.HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rakesh </title>
<!--
- favicon
-->
<link rel="shortcut icon" href="./favicon.svg" type="image/svg+xml">
<!--
- custom css link
-->
<link rel="stylesheet" href="./assets/css/style.css">
<!--
- google font link
-->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link
href="https://fonts.googleapis.com/css2?family=Barlow:wght@600;700&family=Open+Sans:wght@400;500;700&family=Poppi
ns:wght@400;600&display=swap"
rel="stylesheet">
</head>
<body id="top">
<!--
- #HEADER
-->
<a href="#">
<h1 class="logo">Rakesh Webkit </h1>
</a>
<li>
<a href="#home" class="navbar-link" data-nav-link>Home</a>
</li>
<li>
<a href="#about" class="navbar-link" data-nav-link>About</a>
</li>
<li>
<a href="#portfolio" class="navbar-link" data-nav-link>Portfolio</a>
</li>
<li>
<a href="#skills" class="navbar-link" data-nav-link>Skills</a>
</li>
<li>
<a href="#contact" class="navbar-link" data-nav-link>Contact</a>
</li>
<li>
<a href="#blog" class="navbar-link" data-nav-link>Blog</a>
</li>
</ul>
</nav>
</div>
</header>
<main>
<article>
<!--
- #HERO
-->
<div class="hero-banner">
<div class="hero-content">
<h2 class="hero-title">
<span>Hello I'm</span>
<strong>Rakesh </strong> Web Developer from India....
</h2>
<p class="hero-text">
I specialize in web design and development, focusing on responsive and engaging online experiences. When I'm not
coding, I love exploring new tech trends to enhance my skills.
</p>
<div class="btn-group">
<a href="#contact" class="btn btn-primary blue">Get a Quote</a>
</div>
</div>
</section>
<!--
- #ABOUT
-->
<figure class="about-banner">
</figure>
<div class="about-content">
<p class="section-text">
My passion lies in crafting intuitive and visually appealing websites that deliver exceptional user experiences. With
expertise in both front-end and back-end development, I aim to create seamless online solutions tailored to meet diverse needs.
</p>
<p class="section-text">
I enjoy staying up-to-date with the latest industry trends and technologies, which inspires me to continually improve my
skills and deliver innovative projects. In my spare time, I love experimenting with new tools and frameworks to enhance my web
development journey.
</p>
</div>
</div>
</section>
<!--
- #PORTFOLIO
-->
<p class="section-subtitle">Portfolio</p>
<ul class="portfolio-list">
<li>
<a href="#" class="portfolio-card" style="background-image: url('./assets/images/portfolio-1.jpg')">
<div class="card-content">
<span class="btn-link">
<span>View Project</span>
<ion-icon name="arrow-forward"></ion-icon>
</span>
</div>
</a>
</li>
<li>
<a href="#" class="portfolio-card" style="background-image: url('./assets/images/portfolio-2.jpg')">
<div class="card-content">
<span class="btn-link">
<span>View Project</span>
<ion-icon name="arrow-forward"></ion-icon>
</span>
</div>
</a>
</li>
<li>
<a href="#" class="portfolio-card" style="background-image: url('./assets/images/portfolio-3.jpg')">
<div class="card-content">
<span class="btn-link">
<span>View Project</span>
<ion-icon name="arrow-forward"></ion-icon>
</span>
</div>
</a>
</li>
<li>
<a href="#" class="portfolio-card" style="background-image: url('./assets/images/portfolio-4.jpg')">
<div class="card-content">
<span class="btn-link">
<span>View Project</span>
<ion-icon name="arrow-forward"></ion-icon>
</span>
</div>
</a>
</li>
</ul>
</div>
</section>
<!--
- #SKILLS
-->
<li class="skills-item">
<div class="wrapper" style="width: 95%">
<h3 class=" skills-title">HTMl</h3>
<div class="skills-progress-box">
<div class="skills-progress" style="width: 95%"></div>
</div>
</li>
<li class="skills-item">
<div class="wrapper" style="width: 75%">
<h3 class="skills-title">MySQL</h3>
<div class="skills-progress-box">
<div class="skills-progress" style="width: 75%"></div>
</div>
</li>
<li class="skills-item">
<div class="wrapper" style="width: 90%">
<h3 class="skills-title">CSS</h3>
<div class="skills-progress-box">
<div class="skills-progress" style="width: 90%"></div>
</div>
</li>
<li class="skills-item">
<div class="wrapper" style="width: 70%">
<h3 class="skills-title">Python</h3>
<div class="skills-progress-box">
<div class="skills-progress" style="width: 70%"></div>
</div>
</li>
<li class="skills-item">
<div class="wrapper" style="width: 80%">
<h3 class="skills-title">PHP</h3>
<div class="skills-progress-box">
<div class="skills-progress" style="width: 80%"></div>
</div>
</li>
<li class="skills-item">
<div class="wrapper" style="width: 75%">
<h3 class="skills-title">JavaScript</h3>
<div class="skills-progress-box">
<div class="skills-progress" style="width: 75%"></div>
</div>
</li>
</ul>
</div>
</section>
<!--
- #CONTACT
-->
<div class="contact-card">
<div class="wrapper">
</form>
<ul class="contact-list">
<li class="contact-item">
<div class="contact-icon">
<ion-icon name="location"></ion-icon>
</div>
<div>
<h3 class="contact-item-title">Address</h3>
<address class="contact-item-link">
Prem Nagar, Sector 12, Gurugram(Haryana), India
</address>
</div>
</li>
<li class="contact-item">
<div class="contact-icon">
<ion-icon name="mail"></ion-icon>
</div>
<div>
<h3 class="contact-item-title">Email</h3>
</li>
<li class="contact-item">
<div class="contact-icon">
<ion-icon name="call"></ion-icon>
</div>
<div>
<h3 class="contact-item-title">Phone</h3>
</li>
</ul>
</div>
</div>
</div>
</section>
<!--
- #BLOG
-->
<p class="section-text">
Dliquip ex ea commo do conse namber onequa ute irure dolor in reprehen derit in voluptate
</p>
<ul class="blog-list">
<li>
<div class="blog-card">
<figure class="card-banner">
<a href="#">
<img src="./assets/images/blog-1.jpg" width="1181" height="843" loading="lazy"
alt="Jim Morisson Says when the musics over turn off the light" class="img-cover">
</a>
</figure>
<h3 class="card-title">
<a href="#">Mastering Responsive Design: Tips for Creating Mobile-Friendly Websites</a>
</h3>
</div>
</li>
<li>
<div class="blog-card">
<figure class="card-banner">
<a href="#">
<img src="./assets/images/blog-2.jpg" width="1181" height="843" loading="lazy"
alt="Jim Morisson Says when the musics over turn off the light" class="img-cover">
</a>
</figure>
<h3 class="card-title">
<a href="#">The Future of Web Development: Trends Shaping the Digital Landscape</a>
</h3>
</div>
</li>
<li>
<div class="blog-card">
<figure class="card-banner">
<a href="#">
<img src="./assets/images/blog-3.jpg" width="1181" height="843" loading="lazy"
alt="Jim Morisson Says when the musics over turn off the light" class="img-cover">
</a>
</figure>
<h3 class="card-title">
<a href="#">Top 10 Frameworks to Boost Your Web Development Skills</a>
</h3>
</div>
</li>
</ul>
</div>
</section>
</article>
</main>
<!--
- #FOOTER
-->
<footer class="footer">
<div class="container">
<p class="copyright">
© 2024 <a href="#" class="copyright-link">Rakesh Webkit</a>. All Rights Reseverd
</p>
</div>
</footer>
<!--
- #BACK TO TOP
-->
<!--
- custom js link
-->
<script src="./assets/js/script.js"></script>
<!--
- ionicon link
-->
<script type="module" src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.js"></script>
</body>
</html>
2. STYLES.CSS
/*-----------------------------------*\
#style.css
\*-----------------------------------*/
/**
* copyright 2022 codewithsadee
*/
/*-----------------------------------*\
#CUSTOM PROPERTY
\*-----------------------------------*/
:root {
/**
* colors
*/
/**
* typography
*/
--fs-1: 3.5rem;
--fs-2: 3rem;
--fs-3: 2.4rem;
--fs-4: 2rem;
--fs-5: 1.8rem;
--fs-6: 1.3rem;
--fw-600: 600;
--fw-700: 700;
/**
* border radius
*/
--radius-5: 5px;
--radius-10: 10px;
--radius-15: 15px;
--radius-20: 20px;
/**
* spacing
*/
--section-padding: 60px;
/**
* shadow
*/
/**
* transition
*/
/*-----------------------------------*\
#RESET
\*-----------------------------------*/
*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
li { list-style: none; }
a{
text-decoration: none;
color: inherit;
}
a,
img,
span,
input,
strong,
button,
textarea,
ion-icon { display: block; }
ion-icon {
pointer-events: none;
color: var(--white);
}
button,
input,
textarea {
background: none;
border: none;
font: inherit;
}
input,
textarea { width: 100%; }
html {
font-size: 10px;
font-family: var(--ff-open-sans);
scroll-behavior: smooth;
}
body {
background-color: var(--space-cadet);
color: var(--cadet-blue-crayola);
font-size: 1.6rem;
line-height: 1.6;
overflow-x: hidden;
}
.btn {
color: var(--white);
font-family: var(--ff-barlow);
font-size: var(--fs-5);
font-weight: var(--fw-600);
max-width: max-content;
padding: var(--padding, 10px 40px);
border-radius: 50px;
transition: var(--transition-2);
}
.img-cover {
width: 100%;
height: 100%;
object-fit: cover;
}
.section-subtitle {
color: var(--orange-soda);
font-family: var(--ff-barlow);
font-size: var(--fs-4);
text-align: center;
}
.h2,
.h3 {
color: var(--white);
font-family: var(--ff-barlow);
font-weight: var(--fw-600);
line-height: 1.3;
}
.section-title,
.section-text { text-align: center; }
/*-----------------------------------*\
#HEADER
\*-----------------------------------*/
.header {
position: fixed;
padding-block: 15px;
width: 100%;
background-color: var(--space-cadet);
height: 65px;
box-shadow: var(--shadow);
overflow: hidden;
transition: 0.25s var(--cubic-out);
z-index: 4;
}
.header.nav-active {
height: 335px;
transition-duration: 0.35s;
}
.logo {
color: var(--white);
font-family: var(--ff-poppins);
font-size: 2.4rem;
}
.nav-toggle-btn .close-icon,
.nav-toggle-btn.active .menu-icon { display: none; }
.nav-toggle-btn.active .close-icon,
.nav-toggle-btn .menu-icon { display: block; }
.navbar {
position: absolute;
top: 65px;
left: 0;
width: 100%;
padding-inline: 20px;
visibility: hidden;
opacity: 0;
transition: var(--transition-2);
}
.header.nav-active .navbar {
visibility: visible;
opacity: 1;
}
.navbar-link {
color: var(--white);
font-family: var(--ff-barlow);
padding-block: 3px;
transition: var(--transition-1);
}
.navbar .btn {
background-color: var(--orange-soda);
margin-block-start: 15px;
}
/*-----------------------------------*\
#HERO
\*-----------------------------------*/
.elem,
.rotate-img { display: none; }
.hero {
background-image: url("../images/hero-bg.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: center;
padding-block: 100px var(--section-padding);
min-height: 100vh;
display: grid;
place-items: center;
}
.hero-banner {
width: 150px;
height: 172px;
background-color: var(--independence);
border-radius: var(--radius-10);
margin-inline: auto;
margin-block-end: 30px;
}
.hero-content {
text-align: center;
color: var(--white);
}
.hero-title {
font-family: var(--ff-barlow);
font-size: var(--fs-5);
font-weight: var(--fw-600);
line-height: 1.3;
margin-block-end: 14px;
}
.hero-title strong {
font-size: var(--fs-1);
font-weight: inherit;
margin-block-end: 8px;
}
.btn-group {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 10px;
}
/*-----------------------------------*\
#ABOUT
\*-----------------------------------*/
.abs-img,
.abs-icon { display: none; }
.about-banner {
background-color: var(--independence);
border-radius: var(--radius-10);
margin-block-end: 30px;
}
/*-----------------------------------*\
#PORTFOLIO
\*-----------------------------------*/
.portfolio-card {
background-color: var(--independence);
background-repeat: no-repeat;
background-size: cover;
background-position: center;
padding: 120px 20px;
border-radius: var(--radius-20);
font-family: var(--ff-barlow);
color: var(--white);
font-weight: var(--fw-600);
transition: var(--transition-2);
}
.portfolio-card .card-subtitle {
color: var(--orange-soda);
margin-block-end: 5px;
}
.portfolio-card .card-title {
max-width: 20ch;
margin-block-end: 20px;
}
.portfolio-card .btn-link {
display: flex;
align-items: center;
gap: 5px;
font-size: var(--fs-6);
text-transform: uppercase;
}
/*-----------------------------------*\
#SKILLS
\*-----------------------------------*/
.skills-list {
display: grid;
gap: 25px;
}
.skills-item .wrapper {
display: flex;
justify-content: space-between;
align-items: center;
margin-block-end: 10px;
}
.skills-title,
.skills-data {
color: var(--white);
font-size: var(--fs-5);
font-family: var(--ff-barlow);
font-weight: var(--fw-600);
}
.skills-progress-box {
background-color: var(--white);
height: 8px;
border-radius: var(--radius-10);
}
.skills-progress {
background-color: var(--orange-soda);
height: 100%;
border-radius: inherit;
}
/*-----------------------------------*\
#CONTACT
\*-----------------------------------*/
.contact-card {
background-color: var(--midnight-blue);
padding: 50px 25px;
border-radius: var(--radius-20);
}
.contact-card .card-subtitle {
color: var(--orange-soda);
font-family: var(--ff-barlow);
font-size: var(--fs-4);
font-weight: var(--fw-600);
}
.contact .section-title {
text-align: left;
margin-block-end: 30px;
}
.contact-form { margin-block-end: 50px; }
.contact-input {
background-color: var(--white);
color: var(--manatee);
border-radius: var(--radius-5);
padding: 15px 25px;
font-size: var(--fs-5);
margin-block-end: 15px;
}
textarea.contact-input {
resize: vertical;
min-height: 100px;
height: 180px;
max-height: 300px;
}
.btn-submit {
background-color: var(--orange-soda);
color: var(--white);
font-family: var(--ff-barlow);
font-size: var(--fs-5);
width: 100%;
padding: 10px;
border-radius: var(--radius-5);
transition: var(--transition-2);
}
.btn-submit:is(:hover, :focus) {
background-color: var(--white);
color: var(--black);
}
.contact-item {
display: flex;
align-items: center;
gap: 15px;
}
.contact-icon {
background-color: var(--glaucous);
font-size: 2.4rem;
padding: 20px;
border-radius: 50%;
}
.contact-item-title {
color: var(--white);
font-family: var(--ff-barlow);
font-size: var(--fs-4);
font-weight: var(--fw-600);
}
.contact-item-link { transition: var(--transition-1); }
/*-----------------------------------*\
#BLOG
\*-----------------------------------*/
.blog-list {
display: grid;
gap: 40px;
}
.blog-card .card-banner {
background-color: var(--independence);
border-radius: var(--radius-15);
overflow: hidden;
margin-block-end: 20px;
}
.blog-card .card-banner:focus-within {
outline: 2px solid var(--white);
outline-offset: 4px;
}
.blog-card .card-tag {
color: var(--orange-soda);
margin-block-end: 5px;
}
.blog-card .card-title {
color: var(--white);
font-weight: var(--fw-600);
line-height: 1.3;
}
.footer {
background-color: var(--independence);
padding-block: 60px;
}
.copyright {
max-width: max-content;
margin-inline: auto;
margin-block-end: 10px;
}
.copyright-link {
display: inline-block;
transition: var(--transition-2);
font-weight: var(--fw-600);
}
.footer-list {
max-width: max-content;
margin-inline: auto;
}
/*-----------------------------------*\
#BACK TO TOP
\*-----------------------------------*/
.back-to-top {
color: var(--white);
font-size: 1.3rem;
position: fixed;
bottom: 160px;
right: -30px;
transform: rotate(0.25turn);
opacity: 0;
visibility: hidden;
transition: var(--transition-2);
z-index: 1;
}
.back-to-top.active {
right: -5px;
opacity: 1;
visibility: visible;
}
.back-to-top::after {
content: "";
position: absolute;
top: 10px;
left: calc(100% + 7px);
width: 100px;
height: 1px;
background-color: var(--white);
}
/*-----------------------------------*\
#MEDIA QUERIES
\*-----------------------------------*/
/**
* responsive for larger than 600px screen
*/
/**
* PORTFOLIO
*/
/**
* responsive for larger than 768px screen
*/
/**
* PORTFOLIO
*/
.portfolio-card {
background-size: 115%;
padding-inline: 80px;
}
/**
* SKILLS, BLOG
*/
.skills-list,
.blog-list {
grid-template-columns: 1fr 1fr;
column-gap: 50px;
}
/**
* responsive for larger than 992px screen
*/
/**
* CUSTOM PROPERTY
*/
:root {
/**
* typography
*/
--fs-1: 6.4rem;
--fs-2: 3.5rem;
--fs-3: 3.6rem;
/**
* spacing
*/
--section-padding: 80px;
/**
* REUSED STYLE
*/
.container {
max-width: 1050px;
margin-inline: auto;
}
/**
* HEADER
*/
.header,
.header.nav-active {
background-color: transparent;
box-shadow: none;
height: unset;
padding-block: 30px;
}
.header.active {
background-color: var(--space-cadet);
box-shadow: var(--shadow);
padding-block: 20px;
}
.navbar-list {
display: flex;
align-items: center;
gap: 30px;
}
.navbar .btn {
margin-block-start: 0;
--padding: 7px 30px;
}
/**
* HERO
*/
.hero .container {
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
}
.hero-title {
--fs-5: 2.2rem;
margin-block-end: 25px;
}
.hero-text {
margin-block-end: 25px;
font-size: var(--fs-5);
}
.hero-banner {
position: relative;
margin-block-end: 0;
order: 1;
width: 340px;
height: 390px;
margin-inline: 0;
margin-inline-start: auto;
}
.elem {
position: absolute;
display: flex;
align-items: center;
gap: 10px;
background-color: var(--white);
border-radius: var(--radius-10);
padding: 20px;
}
.elem-1 {
top: 20px;
left: -130px;
}
.elem-2 {
bottom: 30px;
right: -80px;
}
.elem-title {
font-size: 4.5rem;
line-height: 1.1;
}
.elem-text {
max-width: 10ch;
color: var(--black);
font-weight: var(--fw-700);
line-height: 1.1;
}
.elem-3 {
top: -40px;
right: -30px;
}
.elem-3 ion-icon {
color: var(--minion-yellow);
font-size: 6rem;
}
.rotate-img {
display: block;
position: absolute;
bottom: -60px;
left: -60px;
width: 120px;
animation: rotate360 15s linear infinite reverse;
}
@keyframes rotate360 {
0% { transform: rotate(0); }
100% { transform: rotate(1turn); }
}
/**
* ABOUT
*/
.about .container {
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
gap: 80px;
}
.about-banner {
position: relative;
margin-block-end: 0;
}
.abs-img,
.abs-icon {
display: block;
position: absolute;
}
.abs-img {
width: 250px;
height: 250px;
object-fit: cover;
border-radius: inherit;
bottom: -150px;
left: -100px;
}
.abs-icon {
font-size: 5rem;
padding: 20px;
border-radius: inherit;
}
.abs-icon-1 {
top: 50px;
left: -120px;
background-color: var(--bluetiful);
}
.abs-icon-2 {
top: -40px;
right: -40px;
background-color: var(--gold-web-golden);
}
.abs-icon-3 {
bottom: -40px;
left: 250px;
background-color: var(--rufous);
}
/**
* PORTFOLIO
*/
/**
* SKILLS
*/
/**
* CONTACT
*/
.contact .wrapper {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
}
.contact-form { margin-block-end: 0; }
/**
* BLOG
*/
.blog-list {
grid-template-columns: repeat(3, 1fr);
gap: 25px;
}
/**
* FOOTER
*/
.footer .container {
display: flex;
justify-content: space-between;
align-items: center;
}
.copyright,
.footer-list { margin-inline: 0; }
}
3. SCRIPT.JS
'use strict';
/**
* navbar toggle
*/
navToggleBtn.addEventListener("click", function () {
header.classList.toggle("nav-active");
this.classList.toggle("active");
});
/**
* toggle the navbar when click any navbar link
*/
/**
* back to top & header
*/
window.addEventListener("scroll", function () {
if (window.scrollY >= 100) {
header.classList.add("active");
backTopBtn.classList.add("active");
} else {
header.classList.remove("active");
backTopBtn.classList.remove("active");
}
});
OUTPUT :