/* custom styles */

h1, h2, h3, h4, h5, h6, p {
  font-family: 'Plus Jakarta Sans', sans-serif;
}

@media (min-width: 768px) {
    .hs-content-id-372823271111 .row-number-1 .span10 {
        margin-left: 0;
        width: 85.4681%;
  }
}

@media (min-width: 768px) {
    .dnd-column.span5 .widget-type-header {
         margin-left: 0;
  }
}

/* Flush the nav column against whatever sits directly to its right (removes grid gutter) */
@media (min-width: 768px) {
  .dnd-section[class*="force-full-width-section"] .span2 + .span10 {
    margin-left: 0;
    width: 85.106383%;
  }
  .dnd-section[class*="force-full-width-section"] .span2 + .span5 {
    margin-left: 0;
    width: 42.553191%;
  }
}

/* On mobile, inset full-bleed images by the same 32px used for text so both align to the same left edge and the image reads as centered. This only targets true mobile (<=767px); tablet (768-1023px) and desktop keep the existing flush-column layout untouched. */
@media (max-width: 767px) {
    .dnd-section img:not(.tj-navigation__logo-img) {
          display: block;
          box-sizing: border-box;
          padding-left: 32px;
          padding-right: 32px;
  }
  
    .dnd-column {
          text-align: left;
  }
}


/* Mobile only: crop every photo to a 1:1 square that fills its container width */
@media (max-width: 767px) {
    .dnd-section img:not(.tj-navigation__logo-img) {
          width: 100%;
          aspect-ratio: 1 / 1;
          object-fit: cover;
  }
}

/* Mobile only: give text-only content columns (e.g. project details lists) the same 32px inset used elsewhere, without touching columns that hold full-bleed photos or video */
@media (max-width: 767px) {
  .dnd-section .dnd-column:is(.span8,.span9,.span10,.span11,.span12):has(.hs_cos_wrapper_type_rich_text):not(:has(img)):not(:has(iframe)) {          padding-left: 32px;
      padding-left: 32px;
          padding-right: 32px;
          box-sizing: border-box;
  }
}
  }
}