/* Fix portfolio carousel image cropping - preserve aspect ratio */
.other-projects .item img {
  height: auto !important;
  max-height: 500px;
  width: 100%;
  object-fit: contain !important;
}

/* Fix portfolio main image being cut off on mobile */
@media (max-width: 767px) {
  /* Override Bootstrap container constraints */
  .portfolio-full-width .container.image,
  .node--type-portfolio .container.image {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
  }

  .portfolio-full-width .container.image img,
  .node--type-portfolio .container.image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    display: block !important;
  }
}

/* Fix mobile hamburger menu icon - only show on mobile */
@media (max-width: 991px) {
  .navbar-toggler {
    display: inline-block !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    padding: 0.5rem 0.75rem !important;
  }

  .navbar-toggler .fas.fa-bars {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    font-size: 1.5rem !important;
    color: #fff !important;
  }

  .navbar-toggler .fas.fa-bars:before {
    content: "\f0c9" !important;
  }
}

/* Hide navbar-toggler on desktop */
@media (min-width: 992px) {
  .navbar-toggler,
  button.navbar-toggler {
    display: none !important;
  }
}


/* Make UNCOMMON word Poppins bold in homepage slideshow */
.carousel-item h2 .montserrat-bold,
.home-banner h2 .montserrat-bold,
h2 .montserrat-bold,
.montserrat-bold {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
}

/* Fix bulleted list colors to match body text */
body .node--type-portfolio .content ul li,
body .node--type-portfolio .content ol li,
body .portfolio-full-width .content ul li,
body .portfolio-full-width .content ol li,
body .portfolio-sidebar .sidebar ul li,
body .portfolio-side-1 .content ul li,
body .portfolio-side-1 .content ol li,
body .about .content ul li,
body .about .content ol li,
body article ul li,
body article ol li,
body main ul li,
body main ol li {
  color: #7c809b !important;
}

/* Also fix the bullet marker color specifically */
body .node--type-portfolio .content ul li::marker,
body .portfolio-full-width .content ul li::marker,
body .portfolio-side-1 .content ul li::marker,
body .about .content ul li::marker,
body article ul li::marker,
body main ul li::marker {
  color: #7c809b !important;
}

/* Nuclear option - target all lists in main content */
.main-container ul li,
.main-container ol li,
#main ul li,
#main ol li {
  color: #7c809b !important;
}

.main-container ul li::marker,
.main-container ol li::marker,
#main ul li::marker,
#main ol li::marker {
  color: #7c809b !important;
}

/* Hide visit-link arrow if link is empty */
.visit-link:empty,
.visit-link svg:only-child {
  display: none !important;
}

/* Make "Our Services" section fonts Montserrat */
.home-3-title span,
.home-3-title h2 {
  font-family: 'Montserrat', sans-serif !important;
}

/* Make service item headings (Paid Ads, etc.) Montserrat */
.services-style-3 .item h3,
.services-montserrat .item h3,
.services-3 .item-content h3 {
  font-family: 'Montserrat', sans-serif !important;
}

/* Fix list-style-2 checkmark overlap issue */
.list-style-2 .list-item {
  padding-left: 30px !important;
  display: block;
}

.list-style-2 li {
  position: relative !important;
  list-style: none !important;
}

.list-style-2 li span {
  position: absolute !important;
  left: 0 !important;
  top: 3px !important;
}

.list-style-2 li strong {
  display: block;
  margin-bottom: 5px;
}

.list-style-2 li p {
  margin-bottom: 0 !important;
}

/* Style CTAs when rendered inside service node content */
.node--type-service .cta-1 {
  margin-top: 60px;
  margin-bottom: 40px;
  padding: 0;
}

/* CTA container should be full width within the column */
.node--type-service .cta-1 > .container {
  max-width: 100%;
  padding: 0;
}

/* Override any section-level positioning for service CTAs */
.services-details-sidebar .col-lg-8 .cta-1,
.services-details-full-width .cta-1 {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
}

/* Restore container padding for CTA inner content */
.services-details-sidebar .col-lg-8 .cta-1 .container,
.services-details-full-width .cta-1 .container {
  max-width: 1140px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* Replace Services Sidebar bullets with custom Uncommon logo mark */
.list-style-3 li span::before {
  background: url(/sites/default/files/2025-11/Uncommon_LogoMarkNavy.svg) !important;
  background-repeat: no-repeat !important;
  background-size: 18px !important;
  background-position: center !important;
  width: 22px !important;
  height: 22px !important;
  top: -2px !important;
  left: -5px !important;
}

.lists .list-style-3 li span::before {
  background: url(/sites/default/files/2025-11/Uncommon_LogoMarkNavy.svg) !important;
  background-size: 15px !important;
  background-position: center !important;
  top: -2px !important;
}

/* Match services sidebar text color to navy logo mark */
.list-style-3 li p,
.list-style-3 li a,
.list-style-3 li {
  color: #112236 !important;
}

/* Reduce page-banner height to half site-wide */
.page-banner {
  height: 190px !important;
  padding-top: 50px !important;
}

.page-banner .title {
  padding: 55px 0px !important;
}

.page-banner .title h1 {
  padding-top: 55px !important;
  padding-bottom: 60px !important;
}

/* Responsive adjustments for page-banner */
@media (max-width: 767px) {
  .page-banner {
    height: 250px !important;
  }
}

/* Reduce spacing between page-banner and page content by half */
.section {
  padding-top: 55px !important;
}

