Shihabiiuc Logo Shihabiiuc

Portfolio website design with HTML CSS

A portfolio is a great way to showcase your expertise and increase your chances of getting hired. I will show you a step-by-step guide on how to design a portfolio website using only HTML, CSS, and a few lines of simple JavaScript.


Share on


It’s completely mobile responsive, fast loading, and easy to customize the template. It shows a portfolio for a freelance graphic designer. But you can make changes according to your niche. Such as website designers, freelance writers, SEO experts, and anyone who needs a portfolio website in the tech industry. See the preview of the template first.

Live Demo

Setup Guide



Clone the full template from your terminal:

git clone https://github.com/shihabiiuc/portfolio.git

Navigate to the project folder:

cd portfolio

Open the project folder with your preferred text editor and make edits to make it yours.

Once you’re satisfied, push it to a Git repository. To make it live and to get a unique URL, either use “GitHub Pages” or deploy it to any other JAMstack servers like Vercel, Netlify, etc.

That’s it!

If you found this project helpful, please support me by hitting the 'Star' icon on my GitHub Repository. Please use the following link.

Give it a STAR ⭐

Asking for a Star on my GitHub Repository

Newbie Setup Guide

Do you need web design help? Feel free to reach out.

I am a freelance web developer helping other developers, designers, and clients. If you need web design-related help, feel free to reach out to me. Always a reasonable price and easy to communicate with.

Project Structure

Project structure

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">
  <link rel="shortcut icon" href="favicon.ico">
  <!-- google fonts -->
  <link href="https://fonts.googleapis.com/css2?family=Roboto+Condensed&display=swap" rel="stylesheet">
  <!-- font-family: 'Roboto Condensed', sans-serif; -->
  <link href="https://fonts.googleapis.com/css2?family=Oxygen:wght@300;700&display=swap" rel="stylesheet">
  <!-- font-family: 'Oxygen', sans-serif; -->
  <link rel="stylesheet" type="text/css" href="sass/style.css" >
  <!-- Twitter Card -->
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:site" content="@shihabiiuc">
  <meta name="twitter:creator" content="@shihabiiuc">
  <meta name="twitter:title"
    content="Your Name -Portfolio">
  <meta name="twitter:description"
    content="This is a portfolio website template that is free to download and use. You can edit this template and create your portfolio website in half an hour.">
  <meta name="twitter:image" content="assets/images/social-media-thumbnail.jpg">
  <!-- Twitter Card End -->
  <!-- Linkedin & Facebook Card -->
  <meta property='og:title'
    content="Your Name -Portfolio" />
  <meta property='og:image' content="assets/images/social-media-thumbnail.jpg" />
  <meta property="og:type" content="website" /><!--  og:type is only for Facebook-->
  <meta property='og:description'
    content="This is a portfolio website template that is free to download and use. You can edit this template and create your portfolio website in half an hour." />
  <meta property='og:url' content="assets/images/social-media-thumbnail.jpg" />
  <!-- Linkedin Card End -->
  <title>Your Name -Portfolio</title>
</head>
<body>
  <nav class="site-header">
    <div class="nav-logo">
      <a href="index.html">
        <img src="assets/images/logo.png" alt="logo" width="314" height="60">
      </a>
    </div>
    <button class="hamburger"><img src="assets/images/menu.png" alt="menu toggle icon"></button>
    <div class="nav-links">
      <ul>
        <li><a href="index.html">Home</a></li>
        <li><a href="#about">About Me</a></li>
        <li><a href="#skill">Skills</a></li>
        <li><a href="#service">Services</a></li>
        <li><a href="#portfolio">Portfolio</a></li>
        <li><a href="#testimonial">Testimonial</a></li>
        <li><a href="#pricing">Pricing</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>
    </div>
  </nav><!-- .site-header -->
  <section class="banner">
    <div class="banner--content">
      <h3 class="name">Your name</h3>
      <h1 class="designation">Freelance graphic designer</h1>
      <p class="tagline">If you&apos;re writer or something else, change the title as per your profession.</p>
    </div>
  </section><!-- .banner -->
  <section class="promo">
    <div class="content">
      <h2>We bring your <span class="bold">ideas</span> to life<span class="orange">.</span></h2>
      <p>Great ideas, beautifully executed & commercially sound.</p>
    </div>
  </section>
  <section id="about">
    <div class="content">
      <h2>About Me</h2>
      <div class="about-container">
        <div class="about-container-left">
          <p>Consectetur adipisicing elit fugiat ratione laboriosam nostrum atque. Accusantium atque molestias amet culpa, quam illo porro, cupiditate repellendus explicabo sunt natus voluptate fugit ducimus esse.</p>
          <h3>Accusantium atque molestias</h3>
          <ul>
            <li>Amet consectetur adipisicing elit</li>
            <li>Fugiat ratione laboriosam nostrum atque</li>
            <li>Cupiditate repellendus explicabo</li>
          </ul>
          <p>Fugiat ratione laboriosam nostrum atque. Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
          <h4>Atque lccusantium molestias amet</h4>
          <p>Auam illo porro cupiditate repellendus explicabo ducimus esse. Dupiditate repellendus explicabo sunt natus voluptate fugit ducimus esse</p>
        </div>
        <div class="about-container-right">
          <img src="assets/images/headshot.jpg" alt="your name, headshot">
        </div>
      </div>
    </div>
  </section><!-- #about -->
  <section id="skill">
    <div class="content skill--content">
      <div class="left">
        <h2>My skills &amp; expertise</h2>
        <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Ea quibusdam inventore molestias maiores esse eum, recusandae impedit? Neque inventore, saepe esse culpa, adipisci ipsum sed suscipit debitis in voluptatibus nisi.</p>
      </div>
      <div class="right">
        <div class="item">
          <img src="assets/images/photoshop.png" alt="Photoshop">
          <h3>Abode Photoshop</h3>
          <p>laboriosam temporibus harum culpa recusandae nemo tempora ut vitae earum quo.</p>
        </div>
        <div class="item">
          <img src="assets/images/illustrator.png" alt="Illustrator">
          <h3>Abode Illustrator</h3>
          <p>Sunt doloribus perferendis officia soluta enim optio distinctio exercitationem.</p>
        </div>
        <div class="item">
          <img src="assets/images/indesign.png" alt="InDesign">
          <h3>Abode InDesign</h3>
          <p>Lorem ipsum dolor sit amet consectetur adipisicing elit qui debitis.</p>
        </div>
      </div>
    </div>
  </section><!-- #skill -->
  <section id="service">
    <h2>Services I offer</h2>
    <div class="content service--content">
      <div class="item">
        <h3>Logo design</h3>
        <img src="assets/images/logo-design.png" alt="Logo design">
        <p>Maiores dicta suscipit voluptate dignissimos fugiat!</p>
        <a href="#contact">Hire Me</a>
      </div><!-- .item -->
      <div class="item">
        <h3>Packaging design</h3>
        <img src="assets/images/packaging-design.png" alt="Packaging design">
        <p>Consectetur adipisicing elit. Dicta necessitatibus officia vitae.</p>
        <a href="#contact">Hire Me</a>
      </div><!-- .item -->
      <div class="item">
        <h3>3D image manipulation</h3>
        <img src="assets/images/3d-image-design.png" alt="3D image manipulation">
        <p>Possimus repellendus voluptas vel assumenda distinctio tatibus.</p>
        <a href="#contact">Hire Me</a>
      </div><!-- .item -->
    </div>
  </section><!-- #service -->
  <section id="portfolio">
    <h2 class="center">Portfolio -My past work samples</h2>
    <div class="content portfolio--content">
      <div class="item">
        <h3>Project Name</h3>
        <img src="assets/images/project-one.jpg" alt="logo design">
      </div><!-- item -->
      <div class="item">
        <h3>Project Name</h3>
        <img src="assets/images/project-two.jpg" alt="logo design">
      </div><!-- item -->
      <div class="item">
        <h3>Project Name</h3>
        <img src="assets/images/project-three.png" alt="logo design">
      </div><!-- item -->
      <div class="item">
        <h3>Project Name</h3>
        <img src="assets/images/project-four.jpg" alt="logo design">
      </div><!-- item -->
      <div class="item">
        <h3>Project Name</h3>
        <img src="assets/images/project-five.jpg" alt="logo design">
      </div><!-- item -->
      <div class="item">
        <h3>Project Name</h3>
        <img src="assets/images/project-six.jpg" alt="logo design">
      </div><!-- item -->
    </div>
  </section><!-- portfolio -->
  <section id="testimonial">
    <h2>Testimonial -What clients are saying about me</h2>
    <div class="content testimonial--content">
      <div class="item">
        <figure>
          <blockquote cite="https://www.huxley.net/bnw/four.html">
              <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Neque cumque quibusdam libero! Aperiam qui unde dolores iste eos, odit laboriosam optio sunt commodi aliquid pariatur nobis dolore! Excepturi, harum possimus.</p>
          </blockquote>
          <figcaption>—John Doe, <cite>CEO, Lorem Digital</cite></figcaption>
        </figure>
      </div><!-- item -->
      <div class="item">
        <figure>
          <blockquote cite="https://www.huxley.net/bnw/four.html">
              <p>Sit amet consectetur adipisicing elit. Neque cumque quibusdam libero! Aperiam qui unde dolores iste eos, odit laboriosam optio sunt commodi aliquid pariatur nobis dolore! Excepturi, harum possimus.</p>
          </blockquote>
          <figcaption>—John Doe, <cite>CEO, Lorem Digital</cite></figcaption>
        </figure>
      </div><!-- item -->
      <div class="item">
        <figure>
          <blockquote cite="https://www.huxley.net/bnw/four.html">
              <p>Consectetur adipisicing elit. Neque cumque quibusdam libero! Aperiam qui unde dolores iste eos, odit laboriosam optio sunt commodi aliquid pariatur nobis dolore! Excepturi, harum possimus.</p>
          </blockquote>
          <figcaption>—John Doe, <cite>CEO, Lorem Digital</cite></figcaption>
        </figure>
      </div><!-- item -->
      <div class="item">
        <figure>
          <blockquote cite="https://www.huxley.net/bnw/four.html">
              <p>Adipisicing elit. Neque cumque quibusdam libero! Aperiam qui unde dolores iste eos, odit laboriosam optio sunt commodi aliquid pariatur nobis dolore! Excepturi, harum possimus.</p>
          </blockquote>
          <figcaption>—John Doe, <cite>CEO, Lorem Digital</cite></figcaption>
        </figure>
      </div><!-- item -->
    </div><!-- .testimonial--content -->
  </section><!-- testimonial -->
  <section id="pricing">
    <h2 class="center">Pricing</h2>
    <p class="center">I charge $30/hour (USD). But if you need any of the following tasks done, see the fixed price below.</p>
    <div class="pricing--content">
      <div class="item">
        <h3>Logo design</h3>
        <p class="price">$235</p>
        <img src="assets/images/logo-design.png" alt="logo design price">
        <p class="description">1 Professional Logo Designs in transparent format (png).</p>
        <a href="#contact">Hire me</a>
      </div><!-- item -->
      <div class="item">
        <h3>Packaging design</h3>
        <p class="price">$450</p>
        <img src="assets/images/packaging-design.png" alt="packaging design price">
        <p class="description">Print ready design label or packaging for one product.</p>
        <a href="#contact">Hire me</a>
      </div><!-- item -->
      <div class="item">
        <h3>Illustrate album cover</h3>
        <p class="price">$370</p>
        <img src="assets/images/3d-image-design.png" alt="3d image design price">
        <p class="description">Hi-res front cover image for streaming platforms.</p>
        <a href="#contact">Hire me</a>
      </div><!-- item -->
    </div><!-- pricing--content -->
  </section><!-- #pricing-->
  <section id="contact">
    <div class="content">
      <h2 class="center">Contact Me</h2>
      <p class="center contact-detail">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Nesciunt nam doloremque, pariatur, repellat est natus soluta autem atque velit nisi ipsum sint fuga tenetur, harum molestias doloribus fugiat obcaecati culpa!</p>
      <address>
        <p>Email Me: <a href="mailto:hello@shihabiiuc.com">hello@shihabiiuc.com</a></p>
        <p></p>Call me: <a href="tel:+88012345876">+88012345876</a></p>
        <p>Office address: Box 564, Manchester<br>
          England.</p>
      </address>
    </div>
  </section>
  <div class="social-share">
    <a href="https://www.facebook.com/sharer/sharer.php?u=https://shihabiiuc.github.io/portfolio/index.html" target="_blank"><img src="assets/svg/facebook.svg" alt="share on facebook"></a>
    <a href="https://twitter.com/intent/tweet?url=https://shihabiiuc.github.io/portfolio/index.html&text=" target="_blank"><img src="assets/svg/twitter.svg" alt="share on twitter"></a>
    <a href="https://pinterest.com/pin/create/button/?url=https://shihabiiuc.github.io/portfolio/index.html&media=&description=" target="_blank"><img src="assets/svg/pinterest.svg" alt="share on pinterest"></a>
    <a href="https://www.linkedin.com/shareArticle?mini=true&url=https://shihabiiuc.github.io/portfolio/index.html" target="_blank"><img src="assets/svg/linkedin.svg" alt="share on linkedin"></a>
  </div>
  <footer class="site-footer">
    <div class="content site-footer--content">
      <div class="footer-left">
        <img src="assets/images/logo-footer.png" alt="logo">
        <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Repellat necessitatibus a pariatur, quibusdam dolorem impedit assumenda laborum modi nam, rem odit, doloremque commodi in consectetur vitae nisi. Nostrum, voluptatum quibusdam. Rpsum dolor sit amet consectetur adipisicing elit. Repellat necessitatibus a pariatur, quibusdam dolorem impedit assumenda laborum modi nam, rem odit, doloremque commodi in consectetur vitae nisi. Nostrum, voluptatum quibusdam</p>
      </div>
      <div class="footer-right">
        <address>
          <p>Email Me: <a href="mailto:hello@shihabiiuc.com">hello@shihabiiuc.com</a></p>
          <p></p>Call me: <a href="tel:+88012345876">+88012345876</a></p>
          <p>Office address: Box 564, Manchester<br>
            England.</p>
        </address>
      </div>
    </div>
    <div class="copyright-notice">
      <p>&copy; <time datetime="2022">2022,</time> All rights reserved by your_name</p>
    </div>
  </footer>
  <script src="js/script.js"></script>
</body>
</html>

CSS

@charset "UTF-8";
html {
  line-height: 1.15;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Oxygen", sans-serif;
  position: relative;
}

section {
  padding: 90px 15px;
}

.content {
  max-width: 1200px;
  display: block;
  margin: 0 auto;
}

p {
  font-size: 18px;
  margin: 5px 0 10px;
}

.bold {
  font-weight: 700;
}

.orange {
  color: #ff5100;
}

h2 {
  font-size: 36px;
  margin: 5px 0 10px;
}
@media screen and (min-width: 768px) {
  h2 {
    font-size: 70px;
    color: #848484;
    font-weight: 700;
  }
}

img {
  max-width: 100%;
  height: auto;
}

.center {
  text-align: center;
}

.site-header {
  z-index: 10;
  font-family: "Roboto Condensed", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: sticky;
  top: 0;
  background-color: #fff;
}
@media screen and (min-width: 1250px) {
  .site-header {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}
.site-header .nav-logo {
  -ms-flex-item-align: start;
  align-self: flex-start;
  padding: 10px 5px 5px;
}
.site-header .nav-logo a img {
  max-width: 200px;
  height: auto;
}
@media screen and (min-width: 768px) {
  .site-header .nav-logo a img {
    max-width: 314px;
    height: auto;
  }
}
.site-header .nav-links {
  display: none;
  width: 100%;
}
@media screen and (min-width: 1250px) {
  .site-header .nav-links {
    display: block;
    background-color: #fff;
  }
}
.site-header .nav-links ul {
  background-color: rgba(222, 240, 255, 0.95);
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  position: absolute;
  width: 100%;
}
@media screen and (min-width: 1250px) {
  .site-header .nav-links ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    position: static;
    background-color: transparent;
  }
}
.site-header .nav-links ul li {
  list-style: none;
  position: relative;
}
.site-header .nav-links ul li a {
  font-size: 18px;
  text-transform: uppercase;
  font-family: 400;
  color: #7f53ac;
  letter-spacing: 1.2px;
  padding: 10px 15px;
  text-decoration: none;
  display: block;
}
.site-header .nav-links ul li:hover {
  background-color: #efe0ff;
}
.site-header button {
  cursor: pointer;
  background: transparent;
  border: none;
  max-width: 50px;
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
}
@media screen and (min-width: 768px) {
  .site-header button {
    top: 20px;
  }
}
@media screen and (min-width: 1250px) {
  .site-header button {
    display: none;
  }
}

.nav-links.active {
  display: block;
}

.banner {
  padding: 90px 15px;
  background-color: #923cb5;
  background-image: linear-gradient(147deg, #923cb5 0%, #000000 74%);
  text-align: center;
  color: #ffffff;
}
.banner .banner--content {
  max-width: 1400px;
  height: auto;
  display: block;
  margin: 0 auto;
  background: url("../assets/svg/soap.svg");
  background-repeat: no-repeat;
  background-position: top right;
  background-size: contain;
}
.banner .banner--content .name {
  text-transform: uppercase;
}
.banner .banner--content .designation {
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  font-family: "Oxygen", sans-serif;
  font-weight: 700;
  font-size: 36px;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .banner .banner--content .designation {
    font-size: 70px;
  }
}
.banner .banner--content .tagline {
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  .banner .banner--content .tagline {
    font-size: 26px;
  }
}

.promo {
  background-color: #def0ff;
}
.promo .content h2 {
  font-size: 36px;
  font-weight: 300;
  color: #222;
  text-shadow: 0 1px 2px #222;
}
@media screen and (min-width: 768px) {
  .promo .content h2 {
    font-size: 70px;
  }
}
.promo .content h2 span.orange {
  font-weight: 700;
}
.promo .content p {
  font-size: 22px;
}
@media screen and (min-width: 768px) {
  .promo .content p {
    font-size: 36px;
  }
}

#about .content h2 {
  text-align: center;
}
#about .about-container {
  display: block;
}
@media screen and (min-width: 768px) {
  #about .about-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
#about .about-container-left {
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
  background: #def0ff;
  padding: 30px 15px;
}
#about .about-container-left li {
  font-style: italic;
  line-height: 1.9;
}
#about .about-container-right {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
  background: #f2f3f8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#about .about-container-right img {
  max-width: 100%;
  -ms-flex-item-align: start;
  align-self: flex-start;
}
@media screen and (min-width: 1200px) {
  #about .about-container-right img {
    -ms-flex-item-align: stretch;
    align-self: stretch;
  }
}

#skill {
  background-color: #7f53ac;
  background-image: linear-gradient(315deg, #7f53ac 0%, #647dee 74%);
}
#skill .skill--content {
  display: block;
}
@media screen and (min-width: 768px) {
  #skill .skill--content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
#skill .skill--content .left {
  -ms-flex-preferred-size: 30%;
  flex-basis: 30%;
}
#skill .skill--content .left h2 {
  font-size: 36px;
  color: #222;
}
#skill .skill--content .right {
  -ms-flex-preferred-size: 65%;
  flex-basis: 65%;
  display: block;
}
@media screen and (min-width: 768px) {
  #skill .skill--content .right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
#skill .skill--content .right .item {
  -ms-flex-preferred-size: 32%;
  flex-basis: 32%;
  text-align: center;
  border: 1px solid #222;
  padding: 30px 15px;
  margin-bottom: 30px;
  border-width: 5px 5px 5px 5px;
  -o-border-image: linear-gradient(45deg, #ff9800 0%, purple 100%);
  border-image: linear-gradient(45deg, #ff9800 0%, purple 100%);
  border-image-slice: 9;
  border-style: solid;
}
@media screen and (min-width: 768px) {
  #skill .skill--content .right .item {
    margin-bottom: 0;
  }
}
#skill .skill--content .right .item img {
  max-width: 100px;
  height: auto;
}

#service h2 {
  max-width: 1200px;
  display: block;
  margin: 0 auto 30px auto;
}
#service .service--content {
  display: block;
}
@media screen and (min-width: 768px) {
  #service .service--content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
#service .service--content .item {
  -ms-flex-preferred-size: 32%;
  flex-basis: 32%;
  text-align: center;
  border: 1px solid #e9ebec;
  padding: 20px 10px 40px;
  margin-bottom: 30px;
  -webkit-transition: background-color 0.8s ease-in;
  transition: background-color 0.8s ease-in;
}
@media screen and (min-width: 768px) {
  #service .service--content .item {
    margin-bottom: 0;
  }
}
#service .service--content .item h3 {
  text-transform: uppercase;
  font-weight: 700;
}
#service .service--content .item img {
  max-width: 80%;
  display: block;
  margin: 0 auto;
}
#service .service--content .item p {
  font-style: italic;
  display: block;
  margin-bottom: 30px;
  text-shadow: 0 1px 2px #222;
}
#service .service--content .item a {
  border: 1px solid #7f53ac;
  border-radius: 4px;
  padding: 10px 30px;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1.3px;
  -webkit-transition: all 0.8s ease-in-out;
  transition: all 0.8s ease-in-out;
  background-color: #9921e8;
  background-image: linear-gradient(315deg, #9921e8 0%, #5f72be 74%);
}
#service .service--content .item a:hover {
  background-color: #7f5a83;
  background-image: linear-gradient(315deg, #7f5a83 0%, #0d324d 74%);
  border: #0d324d;
}
#service .item:hover {
  background-color: #def0ff;
}

#portfolio {
  z-index: 1;
  background-color: #923cb5;
  background-image: linear-gradient(147deg, #923cb5 0%, #000000 74%);
}
#portfolio h2 {
  color: rgba(255, 255, 255, 0.8);
  display: block;
  margin-bottom: 30px;
}
#portfolio .portfolio--content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#portfolio .portfolio--content .item {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  position: relative;
  background-color: #cb2027;
  -webkit-transition: all 0.8s ease-in-out;
  transition: all 0.8s ease-in-out;
}
#portfolio .portfolio--content .item h3 {
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  position: absolute;
  top: 50%;
  left: 50%;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0;
  -webkit-transition: all 0.8s ease-in-out;
  transition: all 0.8s ease-in-out;
}
#portfolio .portfolio--content .item img {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  min-width: 100%;
  min-height: 100%;
}
#portfolio .portfolio--content .item:hover > h3 {
  opacity: 1;
}
#portfolio .portfolio--content .item:hover > img {
  opacity: 0.3;
}

#testimonial h2 {
  max-width: 1200px;
  display: block;
  margin: 0 auto 30px auto;
}
#testimonial .testimonial--content {
  display: block;
}
@media screen and (min-width: 768px) {
  #testimonial .testimonial--content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}
#testimonial .testimonial--content .item {
  -ms-flex-preferred-size: 45%;
  flex-basis: 45%;
  margin: 15px 0;
}

blockquote {
  margin: 0;
}

blockquote p {
  padding: 15px;
  background: #def0ff;
  border-radius: 5px;
}

blockquote p::before {
  content: "“";
}

blockquote p::after {
  content: "”";
}

#pricing {
  background-color: #def0ff;
}
#pricing .pricing--content {
  display: block;
  max-width: 1600px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  #pricing .pricing--content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
#pricing .pricing--content .item {
  -ms-flex-preferred-size: 32%;
  flex-basis: 32%;
  border: 1px solid #848484;
  border-radius: 3px;
  padding: 20px 10px 30px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  #pricing .pricing--content .item {
    margin-bottom: 0;
  }
}
#pricing .pricing--content .item .price {
  font-size: 36px;
  color: #cb2027;
  font-weight: 700;
}
#pricing .pricing--content .item img {
  max-width: 200px;
  height: auto;
  display: block;
  margin: 0 auto;
}
#pricing .pricing--content .item .description {
  font-style: italic;
  min-height: 60px;
  display: block;
  margin: 20px 0;
}
#pricing .pricing--content .item a {
  padding: 10px 20px;
  font-weight: 700;
  text-transform: uppercase;
  border: 1px solid #222;
  text-decoration: none;
  color: #fff;
  background: #222;
}

#contact .contact-detail,
#contact address {
  max-width: 800px;
  display: block;
  margin: 0 auto;
}
#contact address {
  margin-top: 60px;
}
#contact address a {
  text-decoration: none;
}

.social-share {
  display: none;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: fixed;
  top: 50vh;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .social-share {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.social-share a {
  width: 50px;
  height: 50px;
  background-color: #def0ff;
  border: 1px solid #7f53ac;
  -webkit-transition: background-color 0.8s ease-in;
  transition: background-color 0.8s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.social-share a img {
  width: 30px;
  height: auto;
  -ms-flex-item-align: center;
  align-self: center;
}
.social-share a:hover {
  background-color: #7f53ac;
}

.site-footer {
  background-color: #222;
  padding: 90px 15px 30px;
}
.site-footer .site-footer--content {
  max-width: 1600px;
  display: block;
  margin: 0 auto;
  color: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3019607843);
}
@media screen and (min-width: 768px) {
  .site-footer .site-footer--content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}
.site-footer .site-footer--content .footer-left {
  -ms-flex-preferred-size: 55%;
  flex-basis: 55%;
}
.site-footer .site-footer--content .footer-left p {
  font-size: 16px;
  line-height: 1.6;
  color: #e0e0e0;
}
.site-footer .site-footer--content .footer-right {
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
  text-align: right;
}
.site-footer .site-footer--content a {
  color: #fff;
  text-decoration: none;
}
.site-footer .copyright-notice {
  padding-top: 20px;
  text-align: center;
  color: #7a7a7a;
  border-top: 1px solid rgba(255, 255, 255, 0.0509803922);
}

JavaScript

const hamburger = document.getElementsByClassName("hamburger")[0];
const mobileNavs = document.getElementsByClassName("nav-links")[0];

hamburger.addEventListener("click", () => {
  mobileNavs.classList.toggle("active");
});

You can download the images, logo and other graphics from my GitHub repository:

Download from GitHub

If you found this project helpful, please support me by hitting the 'Star' icon on my GitHub Repository. Please use the following link.

Give it a STAR ⭐

Asking for a Star on my GitHub Repository