  /* ==========================================
   GLOBAL 
   ========================================== */
   :root {
    --accent-green: #43ad2e;
    --light-gray: #ccd6f6;
    --muted-blue: #8892b0;
    --accent-orange: #e1712e;
    --secondary-gray: #d1d5db;
    --secondary-gray-alt: #ccd6f6;
  }

  .max-w-1000 { 
    max-width: 1000px; 
  }

  .bg-custom-dark { 
    background-color: #232323 !important; 
  }
  
  .text-custom-gray { 
    color: #cbd5e1 !important; 
  }
  .text-secondary-gray { 
    color: var(--secondary-gray) !important; 
  }
  
  .text-accent-green  { color: var(--accent-green); }
  .text-light-gray    { color: var(--light-gray); }
  .text-muted-blue    { color: var(--muted-blue); }
  .text-accent-orange { color: var(--accent-orange); }
  
  .reserve-space {
    color: transparent !important;
    user-select: none;
    pointer-events: none;
  }

  @media (min-width: 768px) {
    .bg-md-transparent {
      background-color: transparent !important;
    }
  }
  


  /* ==========================================
   NAVBAR 
   ========================================== */
   .top-nav-bar {
    background-color: #232323;
    height: 60px;
    z-index: 1040;
  }
  .navbar-img { height: 40px; }
  
  @media (min-width: 768px) {
    .top-nav-bar { height: 80px; }
    .navbar-img { height: 54px; }
  }
  
  .side-nav-wrapper { z-index: 1050; }
  
  .side-link-item {
    width: 160px;
    height: 54px;
    transform: translateX(-104px); 
    transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1); 
  }
  .side-link-item:hover { transform: translateX(-10px); }
  
  .bg-home-blue      { background-color: #00b9f2 !important; }
  .bg-skills-green   { background-color: #43ad2e !important; }
  .bg-about-brown    { background-color: #9b643e !important; }
  .bg-work-orange    { background-color: #e1712e !important; }
  .bg-contact-purple { background-color: #3b19bf !important; }
  
  
  /* ==========================================
  HOME 
  ========================================== */
  .home {
    position: relative;
    padding: 60px 0;
    background-image: url(../img/gifs/MobileMorning.gif);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
  }
  @media (min-width: 768px) {
    .home {
      padding: 80px 0;
      background-image: url(../img/gifs/coderMorningLeft3.gif);
    }
  }
  .mobile-home-content-block { height: calc(50vh - 60px); }
  .fade-btn-container {
    opacity: 0; 
    transition: opacity 0.8s ease-in-out;
  }
  .btn-outline-custom {
    border: 2px solid var(--light-gray);
    transition: all 0.3s ease;
  }
  .btn-outline-custom:hover {
    background-color: var(--accent-green);
    border-color: var(--accent-green);
  }
  
  /* ==========================================
  SKILLS
  ========================================== */
  .skills {
    min-height: 100vh;
    padding: 60px 0;
  }
  @media (min-width: 768px) {
    .skills { padding: 80px 0; }
  }
  .border-custom-green { border-bottom: 4px solid #5fff3f !important; }
  .w-icon { width: 2.2rem; height: auto; } 
  
  .skill-card {
    border-radius: 8px;
    background-color: #1e1e1e; 
    transition: transform 300ms ease, box-shadow 300ms ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
  }
  .skill-card:hover {
    transform: translateY(-5px) scale(1.03); 
    position: relative; 
    z-index: 1; 
  }
  
  @media (min-width: 768px) {
    .border-custom-green { border-bottom: 4px solid #43ad2e !important; }
    .w-icon { width: 3.5rem; } 
    .skill-js:hover { box-shadow: 0 10px 20px -5px rgba(243, 215, 75, 0.4); }
    .skill-csharp:hover { box-shadow: 0 10px 20px -5px rgba(103, 33, 122, 0.4); }
    .skill-python:hover { box-shadow: 0 10px 20px -5px rgba(2, 119, 188, 0.4); }
    .skill-java:hover { box-shadow: 0 10px 20px -5px rgba(242, 145, 17, 0.4); }
    .skill-react:hover { box-shadow: 0 10px 20px -5px rgba(121, 213, 250, 0.4); }
    .skill-node:hover { box-shadow: 0 10px 20px -5px rgba(156, 198, 95, 0.4); }
    .skill-php:hover { box-shadow: 0 10px 20px -5px rgba(119, 123, 179, 0.4); }
    .skill-sql:hover { box-shadow: 0 10px 20px -5px rgba(44, 124, 213, 0.4); }
    .skill-html:hover { box-shadow: 0 10px 20px -5px rgba(202, 88, 54, 0.4); }
    .skill-css:hover { box-shadow: 0 10px 20px -5px rgba(95, 56, 147, 0.4); }
    .skill-jquery:hover { box-shadow: 0 10px 20px -5px rgba(8, 104, 172, 0.4); }
    .skill-bootstrap:hover { box-shadow: 0 10px 20px -5px rgba(116, 17, 246, 0.4); }
  }
  
  
  /* ==========================================
  ABOUT 
  ========================================== */
  .about {
    height: 100vh;
    background-image: url(../img/gifs/MobileAfternoon.gif);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
  }
  @media (min-width: 768px) {
    .about { background-image: url(../img/gifs/coderAfternoonRight.gif); }
  }
  .mobile-about-spacer { height: 50vh; }
  .about-text {
    background-color: #232323;
    height: auto;
    padding-top: 10px;
    padding-bottom: 20vh;
    padding-right: 0px;
  }
  @media (min-width: 768px) {
    .about-text {
      background-color: transparent; 
      padding-bottom: 0px;
      padding-top: 0px;
    }
  }
  .border-custom-about { border-bottom: 4px solid #9b643e !important; }
  
  
  /* ==========================================
  PORTFOLIO
  ========================================== */
  .border-custom-orange { border-bottom: 4px solid #e1712e !important; }
  
  /* ==========================================
  CONTACT
  ========================================== */
  .border-custom-contact { border-bottom: 4px solid #3b19bf !important; }
  .contact {
    position: relative;
    background-image: url(../img/gifs/MobileNight.gif);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
  }
  @media (min-width: 768px) {
    .contact { background-image: url(../img/gifs/coderNightLeft.gif); }
  }
  @media (max-width: 767.98px) {
    .min-vh-sm-50 { min-height: 50vh; }
    .contact-form-flush { margin-top: -3px; }
    .contact-title { padding-top: 63px; } 
  }
  .btn-custom-contact {
    color: #fff;
    background-color: transparent;
    border: 2px solid #fff;
    border-radius: 0.375rem;
    transition: all 300ms ease;
  }
  .btn-custom-contact:hover {
    background-color: #3b19bf; 
    border-color: #3b19bf;
  }
  
  
  /* ==========================================
  FOOTER
  ========================================== */
  .footer {
    background-color: #232323;
    height: 60px; 
  }
  @media (min-width: 768px) {
    .footer { height: 80px; }
  }
  .footer-icon-link {
    color: #d1d5db; 
    text-decoration: none;
    transition: color 0.2s ease-in-out;
  }
  .footer-icon-link:hover { color: #43ad2e !important; }
  