  /* Fonts */
  :root {
    --default-font: 'Roboto', system-ui, -apple-system, 'Segoe UI', Roboto,
      'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif,
      'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    --heading-font: 'Playfair Display', sans-serif;
    --nav-font: 'Merriweather', sans-serif;
  }

  /* Global Colors - The following color variables are used throughout the website. Updating them here will change the color scheme of the entire website */
  :root {
    --background-color: #ffffff;
    --default-color: #444444;
    --heading-color: #2a2a2a;
    --accent-color: #5c9f24;
    --surface-color: #ffffff;
  }

  /* Nav Menu Colors - The following color variables are used specifically for the navigation menu. They are separate from the global colors to allow for more customization options */
  :root {
    --nav-color: #d1d1d1;
    --nav-hover-color: #ffffff;
    --nav-mobile-background-color: #ffffff;
    --nav-dropdown-background-color: #ffffff;
    --nav-dropdown-color: #444444;
    --nav-dropdown-hover-color: #5c9f24;
  }

  /* Color Presets - These classes override global colors when applied to any section or element, providing reuse of the sam color scheme. */

  .light-background {
    background-color: #f9f9f9;
  }

  .dark-background {
    --background-color: #060606;
    --default-color: #ffffff;
    --heading-color: #ffffff;
    --surface-color: #252525;
    --contrast-color: #ffffff;
  }

  /* Smooth scroll */
  :root {
    scroll-behavior: smooth;
  }

  .box-shadow {
    box-shadow: 0 12px 12px 0 rgba(0, 0, 0, 0.06), 0 12px 23px 0 rgba(0, 0, 0, 0.2);
  }

  .glightbox-clean .gdesc-inner {
    padding: 5px 10px;
  }

  .glightbox-clean .gslide-title {
    margin-bottom: 0px;
    line-height: 20px;
  }

  /*--------------------------------------------------------------
# Portfolio Section
--------------------------------------------------------------*/
  .portfolio .portfolio-filters {
    padding: 0;
    margin: 0 auto 20px auto;
    list-style: none;
    text-align: center;
  }

  .portfolio .portfolio-filters li {
    cursor: pointer;
    display: inline-block;
    padding: 0;
    font-size: 16px;
    font-weight: 600;
    margin: 0 10px;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 5px;
    transition: all 0.3s ease-in-out;
  }

  .portfolio .portfolio-filters li:hover,
  .portfolio .portfolio-filters li.filter-active {
    color: var(--accent-color);
  }

  .portfolio .portfolio-filters li:first-child {
    margin-left: 0;
  }

  .portfolio .portfolio-filters li:last-child {
    margin-right: 0;
  }

  @media (max-width: 575px) {
    .portfolio .portfolio-filters li {
      font-size: 14px;
      margin: 0 5px;
    }
  }

  .portfolio .portfolio-item {
    position: relative;
  }

  .portfolio .portfolio-item .portfolio-info {
    background-color: color-mix(in srgb, var(--surface-color), transparent 10%);
    opacity: 0;
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 0;
    z-index: 3;
    transition: all ease-in-out 0.3s;
    padding: 15px;
  }

  .portfolio .portfolio-item .portfolio-info h4 {
    font-size: 18px;
    font-weight: 600;
    padding-right: 50px;
  }

  .portfolio .portfolio-item .portfolio-info p {
    color: color-mix(in srgb, var(--default-color), transparent 30%);
    font-size: 14px;
    margin-bottom: 0;
    padding-right: 50px;
  }

  .portfolio .portfolio-item .portfolio-info .preview-link,
  .portfolio .portfolio-item .portfolio-info .details-link {
    position: absolute;
    right: 50px;
    font-size: 24px;
    top: calc(50% - 14px);
    color: color-mix(in srgb, var(--default-color), transparent 30%);
    transition: 0.3s;
    line-height: 0;
  }

  .portfolio .portfolio-item .portfolio-info .preview-link:hover,
  .portfolio .portfolio-item .portfolio-info .details-link:hover {
    color: var(--accent-color);
  }

  .portfolio .portfolio-item .portfolio-info .details-link {
    right: 14px;
    font-size: 28px;
  }

  .portfolio .portfolio-item:hover .portfolio-info {
    opacity: 1;
    bottom: 20px;
  }