:root {
      --primary-color: #149ddd;
      --bg-color: #040b14;
      --secondary-bg: #0a1e2e;
      --text-color: #fff;
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: "Open Sans", sans-serif;
      color: #272829;
    }

    a {
      color: var(--primary-color);
      text-decoration: none;
    }

    h1, h2, h3, h4, h5, h6 {
      font-family: "Raleway", sans-serif;
    }

    /* Header */
    #header {
      position: fixed;
      top: 0;
      left: 0;
      bottom: 0;
      width: 300px;
      transition: all ease-in-out 0.5s;
      z-index: 9997;
      padding: 0 15px;
      background: var(--bg-color);
      overflow-y: auto;
    }

    #header .profile img {
      margin: 15px auto;
      display: block;
      width: 120px;
      height: 120px;
      object-fit: cover;
      border: 8px solid #2c2f3f;
      border-radius: 100%;
    }

    #header .profile h1 {
      font-size: 24px;
      margin: 0;
      padding: 0;
      font-weight: 600;
      text-align: center;
      color: var(--text-color);
    }

    #header .profile .social-links a {
      font-size: 18px;
      display: inline-block;
      background: #212431;
      color: var(--text-color);
      line-height: 1;
      padding: 8px 0;
      margin-right: 4px;
      border-radius: 50%;
      text-align: center;
      width: 36px;
      height: 36px;
      transition: 0.3s;
    }

    #header .profile .social-links a:hover {
      background: var(--primary-color);
      color: var(--text-color);
    }

    /* Navigation */
    .nav-menu {
      padding: 30px 0 0 0;
    }

    .nav-menu * {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .nav-menu > ul > li {
      position: relative;
      white-space: nowrap;
    }

    .nav-menu a, .nav-menu a:focus {
      display: flex;
      align-items: center;
      color: #a8a9b4;
      padding: 12px 15px;
      margin-bottom: 8px;
      transition: 0.3s;
      font-size: 15px;
    }

    .nav-menu a i {
      font-size: 24px;
      padding-right: 8px;
      color: #6f7180;
    }

    .nav-menu a:hover, .nav-menu .active, .nav-menu li:hover > a {
      text-decoration: none;
      color: var(--text-color);
    }

    .nav-menu a:hover i, .nav-menu .active i, .nav-menu li:hover > a i {
      color: var(--primary-color);
    }

    /* Main Content */
    #main {
      margin-left: 300px;
    }

    /* Hero Section */
    #hero {
      width: 100%;
      height: 100vh;
      background: url('https://images.unsplash.com/photo-1498050108023-c5249f4df085?w=1920') center center;
      background-size: cover;
      position: relative;
    }

    #hero:before {
      content: "";
      background: rgba(5, 13, 24, 0.3);
      position: absolute;
      bottom: 0;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1;
    }

    #hero .hero-container {
      position: relative;
      z-index: 2;
      min-width: 300px;
    }

    #hero h1 {
      margin: 0 0 10px 0;
      font-size: 64px;
      font-weight: 700;
      line-height: 56px;
      color: var(--text-color);
    }

    #hero p {
      color: var(--text-color);
      margin-bottom: 50px;
      font-size: 26px;
      font-family: "Poppins", sans-serif;
    }

    #hero p span {
      color: var(--text-color);
      padding-bottom: 4px;
      letter-spacing: 1px;
      border-bottom: 3px solid var(--primary-color);
    }

    /* Sections */
    section {
      padding: 60px 0;
      overflow: hidden;
    }

    .section-bg {
      background: #f5f8fd;
    }

    .section-title h2 {
      font-size: 32px;
      font-weight: bold;
      margin-bottom: 20px;
      padding-bottom: 20px;
      position: relative;
      color: #173b6c;
    }

    .section-title h2::after {
      content: "";
      position: absolute;
      display: block;
      width: 50px;
      height: 3px;
      background: var(--primary-color);
      bottom: 0;
      left: 0;
    }

    .section-title p {
      margin-bottom: 0;
    }

    /* About Section */
    .about .content h3 {
      font-weight: 700;
      font-size: 26px;
      color: #173b6c;
    }

    .about .content img {
      width: 300px;
      height: 300px;
      object-fit: cover;
      border-radius: 50%;
    }

    .about .content ul {
      list-style: none;
      padding: 0;
    }

    .about .content ul li {
      margin-bottom: 20px;
      display: flex;
      align-items: center;
    }

    .about .content ul strong {
      margin-right: 10px;
    }

    .about .content ul i {
      font-size: 16px;
      margin-right: 5px;
      color: var(--primary-color);
      line-height: 0;
    }

    /* Skills */
    .skills .progress {
      height: 60px;
      display: block;
      background: none;
      border-radius: 0;
    }

    .skills .progress .skill {
      padding: 0;
      margin: 0 0 6px 0;
      text-transform: uppercase;
      display: block;
      font-weight: 600;
      font-family: "Poppins", sans-serif;
      color: #050d18;
    }

    .skills .progress .skill .val {
      float: right;
      font-style: normal;
    }

    .skills .progress-bar-wrap {
      background: #dce8f8;
      height: 10px;
    }

    .skills .progress-bar {
      width: 1px;
      height: 10px;
      transition: .9s;
      background-color: var(--primary-color);
    }

    /* Resume */
    .resume .resume-title {
      font-size: 26px;
      font-weight: 700;
      margin-top: 20px;
      margin-bottom: 20px;
      color: #050d18;
    }

    .resume .resume-item {
      padding: 0 0 20px 20px;
      margin-top: -2px;
      border-left: 2px solid #1f5297;
      position: relative;
    }

    .resume .resume-item h4 {
      line-height: 18px;
      font-size: 18px;
      font-weight: 600;
      text-transform: uppercase;
      font-family: "Poppins", sans-serif;
      color: #050d18;
      margin-bottom: 10px;
    }

    .resume .resume-item h5 {
      font-size: 16px;
      background: #e4edf9;
      padding: 5px 15px;
      display: inline-block;
      font-weight: 600;
      margin-bottom: 10px;
    }

    .resume .resume-item::before {
      content: "";
      position: absolute;
      width: 16px;
      height: 16px;
      border-radius: 50px;
      left: -9px;
      top: 0;
      background: var(--text-color);
      border: 2px solid #1f5297;
    }

    /* Portfolio */
    .portfolio .portfolio-item {
      margin-bottom: 30px;
    }

    .portfolio #portfolio-flters {
      padding: 0;
      margin: 0 auto 35px auto;
      list-style: none;
      text-align: center;
      background: var(--text-color);
      border-radius: 50px;
      padding: 2px 15px;
    }

    .portfolio #portfolio-flters li {
      cursor: pointer;
      display: inline-block;
      padding: 10px 15px 8px 15px;
      font-size: 14px;
      font-weight: 600;
      line-height: 1;
      text-transform: uppercase;
      color: #272829;
      margin-bottom: 5px;
      transition: all 0.3s ease-in-out;
    }

    .portfolio #portfolio-flters li:hover, .portfolio #portfolio-flters li.filter-active {
      color: var(--primary-color);
    }

    .portfolio .portfolio-wrap {
      transition: 0.3s;
      position: relative;
      overflow: hidden;
      z-index: 1;
    }

    .portfolio .portfolio-wrap img {
      width: 100%;
      height: 250px;
      object-fit: cover;
    }

    .portfolio .portfolio-wrap::before {
      content: "";
      background: rgba(255, 255, 255, 0.5);
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      transition: all ease-in-out 0.3s;
      z-index: 2;
      opacity: 0;
    }

    .portfolio .portfolio-wrap:hover::before {
      opacity: 1;
    }

    /* Services */
    .services .icon-box {
      margin-bottom: 20px;
    }

    .services .icon {
      float: left;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 54px;
      height: 54px;
      background: var(--primary-color);
      border-radius: 50%;
      transition: 0.5s;
      border: 1px solid var(--primary-color);
    }

    .services .icon i {
      color: var(--text-color);
      font-size: 24px;
      line-height: 0;
    }

    .services .icon-box:hover .icon {
      background: var(--text-color);
    }

    .services .icon-box:hover .icon i {
      color: var(--primary-color);
    }

    .services .title {
      margin-left: 80px;
      font-weight: 700;
      margin-bottom: 15px;
      font-size: 18px;
    }

    .services .title a {
      color: #343a40;
    }

    .services .description {
      margin-left: 80px;
      line-height: 24px;
      font-size: 14px;
    }

    /* Testimonials */
    .testimonials .testimonial-item {
      box-sizing: content-box;
      text-align: center;
      min-height: 320px;
    }

    .testimonials .testimonial-item .testimonial-img {
      width: 90px;
      border-radius: 50%;
      margin: 0 auto;
    }

    .testimonials .testimonial-item h3 {
      font-size: 18px;
      font-weight: bold;
      margin: 10px 0 5px 0;
      color: #111;
    }

    .testimonials .testimonial-item h4 {
      font-size: 14px;
      color: #999;
      margin: 0;
    }

    .testimonials .testimonial-item p {
      font-style: italic;
      margin: 15px 0;
    }

    /* Contact */
    .contact .info {
      padding: 30px;
      background: var(--text-color);
      width: 100%;
      box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.12);
    }

    .contact .info i {
      font-size: 20px;
      color: var(--primary-color);
      float: left;
      width: 44px;
      height: 44px;
      background: #dff3fc;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 50px;
      transition: all 0.3s ease-in-out;
    }

    .contact .info h4 {
      padding: 0 0 0 60px;
      font-size: 22px;
      font-weight: 600;
      margin-bottom: 5px;
      color: #050d18;
    }

    .contact .info p {
      padding: 0 0 10px 60px;
      margin-bottom: 20px;
      font-size: 14px;
      color: #173b6c;
    }

    .contact .php-email-form {
      width: 100%;
      padding: 30px;
      background: var(--text-color);
      box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.12);
    }

    .contact .php-email-form .form-group {
      padding-bottom: 8px;
    }

    .contact .php-email-form input, .contact .php-email-form textarea {
      border-radius: 0;
      box-shadow: none;
      font-size: 14px;
    }

    .contact .php-email-form button[type=submit] {
      background: var(--primary-color);
      border: 0;
      padding: 10px 24px;
      color: var(--text-color);
      transition: 0.4s;
      border-radius: 4px;
    }

    /* Footer */
    #footer {
      padding: 0.5px;
      color: #f4f6fd;
      font-size: 14px;
      position: fixed;
      left: 0;
      bottom: 0;
      width: 300px;
      z-index: 9999;
      background: var(--bg-color);
    }

    #footer .copyright {
      text-align: center;
    }

    #footer .credits {
      padding-top: 5px;
      text-align: center;
      font-size: 13px;
      color: #eaebf0;
    }

    /* Mobile Navigation */
    @media (max-width: 1199px) {
      #header {
        left: -300px;
      }

      #main {
        margin-left: 0;
      }

      .mobile-nav-toggle {
        display: block;
        position: fixed;
        right: 15px;
        top: 15px;
        z-index: 9998;
        border: 0;
        font-size: 24px;
        transition: all 0.4s;
        outline: none !important;
        background-color: var(--primary-color);
        color: var(--text-color);
        width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 0;
        border-radius: 50px;
        cursor: pointer;
      }

      .mobile-nav-active #header {
        left: 0;
      }

      #footer {
        width: 100%;
      }
    }

    .mobile-nav-toggle {
      display: none;
    }

    /* Additional Responsive Styles */
    @media (max-width: 991px) {
      #hero h1 {
        font-size: 48px;
        line-height: 48px;
      }

      #hero p {
        font-size: 20px;
      }

      .section-title h2 {
        font-size: 28px;
      }

      .about .content h3 {
        font-size: 22px;
      }

      .portfolio .portfolio-wrap img {
        height: 200px;
      }
    }

    @media (max-width: 768px) {
      #hero h1 {
        font-size: 36px;
        line-height: 40px;
      }

      #hero p {
        font-size: 18px;
        margin-bottom: 30px;
      }

      .section-title h2 {
        font-size: 24px;
      }

      .about .content h3 {
        font-size: 20px;
      }

      .skills .progress {
        height: 50px;
      }

      .portfolio .portfolio-wrap img {
        height: 180px;
      }

      .services .icon-box {
        text-align: center;
      }

      .services .icon {
        float: none;
        margin: 0 auto 15px auto;
      }

      .services .title {
        margin-left: 0;
        margin-bottom: 10px;
      }

      .services .description {
        margin-left: 0;
      }

      .contact .info h4 {
        padding: 0;
        font-size: 18px;
      }

      .contact .info p {
        padding: 0;
      }
    }

    @media (max-width: 576px) {
      #hero h1 {
        font-size: 28px;
        line-height: 32px;
      }

      #hero p {
        font-size: 16px;
      }

      section {
        padding: 40px 0;
      }

      .section-title h2 {
        font-size: 20px;
        margin-bottom: 15px;
        padding-bottom: 15px;
      }

      .about .content h3 {
        font-size: 18px;
      }

      .skills .progress .skill {
        font-size: 14px;
      }

      .portfolio .portfolio-wrap img {
        height: 150px;
      }

      .services .icon-box {
        padding: 20px;
      }

      .contact .info {
        padding: 20px;
      }

      .contact .php-email-form {
        padding: 20px;
      }
    }
