#primary.content-area {
  margin-top: 1rem;
}
.portfolio-entry-header {
  margin-bottom: 0.75rem;
}
.portfolio-entry-title {
  margin-bottom: 0.25rem;
  color: #555;
  display: inline-block;
}
.portfolio-subtitle {
  display: block;
  margin-top: -4px;
  color: #888;
  font-weight: 500;
}
.pre-heading {
  text-transform: uppercase;
  font-size: 14px;
  margin: 16px 0 5px;
}
.kmr-stripline {
  display: block;
  width: 100%;
  padding: 12px 9px;
  color: #fff;
  background: #753141;
}
.kmr-stripline ol {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0 11px;
  list-style: none;
}
.kmr-stripline ol li:last-child {
  letter-spacing: -0.5px;
}
.kmr-stripline ol li + li::before {
  content: "→"; /* or "" › or "→" */
  margin: 0 2px 0 -5px;
  color: #aaa;
  font-weight: normal;
}
.pre-heading.kmr-stripline ol li a {
  color: #ededed;
  font-weight: 600;
  text-decoration: none;
}
.pre-heading.kmr-stripline ol li:hover a {
  color: #fff;
}
.heading-label {
  display: inline-block;
  display: none;
  line-height: 1.5;
  font-size: 27px;
  color: #777;
  margin-right: 8px;
}

.kmr-gallery-display {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.kmr-portfolio-gallery-wrapper {
  width: 100%;
}

.kmr-portfolio-gallery-wrapper .swiper-slide.image-container {
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  border-radius: 3px;
  background: #eeeeee;

}
.kmr-portfolio-gallery-wrapper .swiper-slide.image-container img {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: contain;
  width: auto;
  height: 100%;
  top: 50%;
}
.kmr-portfolio-gallery-wrapper .swiper-button {
  background-color: #22222250;
  color: #fff;
  padding: 22px !important;
  transition: background-color 0.4s
}
.kmr-portfolio-gallery-wrapper .swiper-button:hover {
  background-color: #000000dd;
}
.kmr-portfolio-gallery-wrapper .swiper-button-next:after,
.kmr-portfolio-gallery-wrapper .swiper-button-prev:after {
  font-size: 24px;
}
.kmr-portfolio-gallery-wrapper .swiper-pagination.swiper-pagination-bullets {
  width: auto;
  left: 50%;
  transform: translateX(-50%);
}
.kmr-portfolio-gallery-wrapper .swiper-pagination-bullet {
  background: #333;
}

.button-open-gallery {
  position: absolute;
  width: 38px;
  height: 38px;
  bottom: 8px;
  right: 8px;
  padding: 4px;
  display: inline-block;
  z-index: 9999;
  font-size: 16px;
  background: #ffffffad;
  transition: all 0.25s;
  box-shadow: 0 1px 5px -4px #00000060;
  border: 1px solid #f0f0f0;
  border-radius: 3px;
  cursor: pointer;
}
.button-open-gallery:hover {
  background: #ffffffd9;
}
.button-open-gallery svg {
  width: 100%;
  height: 100%;
}
.lg-sub-html h4 {
  font-size: 14px;
  color: #fafafa;
}
.lg-sub-html h5 {
  font-size: 12px;
  color: #f1f1f1;
}

.heading {
  padding: .25rem 0 0.625rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--global-palette3);
}
.heading-1 {
  font-size: 28px;
}
.heading-2 {
  font-size: 22px;
}
.heading-3 {
  font-size: 20px;
}
.heading strong {
  display: block;
  font-size: 16px;
  font-weight: 400;
  color: #777;
}
.portfolio-content {align-items: start;}
.side-content,
.project-spaces-list h4 {
  font-size: 16px;
  font-weight: 400;
}
.content-box {
  margin: 0 0 1rem;
  border: 1px solid #f6f6f6;
  border-radius: 3px;
  background: #fff;
}
.portfolio-location {
  display: inline-block;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: -0.5px;
}
.display-flex {
  display: flex;
  gap: 14px;
  font-size: 16px;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  line-height: 1;
}
.box-contents {
  border-bottom: 1px solid #f6f6f6;
}
.main-content .box-contents {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
}
.side-content .box-contents {
  margin-bottom: 0.75rem;
  padding-bottom: 1.25rem;
}
.box-contents:last-child {
    border: 0;
    margin-bottom: 0;
}
.contents p {
    margin: 0 0 1.25rem;
}
.nolist {
  list-style: none;
  margin: 0;
}
.keywords-box {
  padding: 1.25rem 0;
  background: #fffefe;
  margin-top: .25rem;
}
.keywords-list {
  list-style: none;
}
.keywords-list.nolist.display-flex {
  gap: 8px;
  font-size: 14px;
}
.cost-string {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.75px;
  word-spacing: 1px;
  color: #9a9a9a;
}

.keyword-item {
  cursor: pointer;
  color: #73884a;
  transition: all 0.4s;
}
.keyword-item:hover {
  color: #507282;
  text-decoration: solid;
}
.specifications-box {
  display: flex;
  align-items: flex-start;
  margin-bottom: 6px;
}
.specifications-box .heading {
  margin-right: 0;
  padding: 0.25rem;
  min-width: 64px;
}
.kraftmaster-theme .specifications-box > * {
  margin-top: 0;
  padding-top: 0.25rem;
  line-height: 1.3;
}
.comma-list li:not(:last-child):after {
  content: ",";
}
.comma-list.display-flex {
  gap: 2px 4px;
}
.content-box .button-color-kmr-palette-blue1.button-outline {
  display: inline-block;
  border: 1px solid #809da8;
  background: #617e89;
  color: #fff;
}

.content-box .kmr-planning-guide-button__link.button-outline:hover {
  color: #fff;
  background: var(--global-palette4);
  border-color: var(--global-palette4);
}
.content-box .button-color-kmr-palette-green {
  display: inline-block;
  border: 1px solid #62753c;
  background: #738849;
  color: #fff;
}
.content-box .button-color-kmr-palette-green:hover {
  border: 1px solid #819755;
  background: #95ae64;
}
.related-project-parts h3 {
    margin-bottom: 1rem;
}
.related-project-parts li {
  flex: 1 0 48%;
  position: relative;
}
.related-project-parts li {
    flex: 1 0 48%;
    position: relative;
}
.related-project-parts li a {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.related-project-parts li a img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.related-project-parts li a span {
    position: absolute;
    z-index: 9;
    bottom: 0;
    padding: 11px;
    background: #fff;
    width: 100%;
    border: .5px solid #777;
    border-top: 0;
    color: #333;
    font-size: 16px;
    font-weight: 600;
}

.portfolio-content-wrap {
  min-height: 80px;
  padding: 0.875rem 1.25rem;
  border: 0.5px solid #ddd;
}
.portfolio-content-wrap .project-title {
  font-size: 17px;
  line-height: 1.25;
}

@media (max-width: 767px) {
  .single-portfolio .content-container.site-container {
    padding: 1rem;
  }
  .single-portfolio .entry-content-wrap {
    padding: 0;
  }
  .single-portfolio .portfolio-entry-title {
    font-size: 27px;
    line-height: 1.12;
  }
  .single-portfolio .portfolio-subtitle {
    font-size: 17px;
    line-height: 1.2;
  }
  .pre-heading.kmr-stripline a {
    display: inline-block;
  }
  .portfolio-content.grid-container {
    margin-bottom: -1rem !important;
  }
  .content-box {
    padding: 1.125rem 1.25rem;
  }
  .kmr-stripline ol {
    justify-content: center;
  }
  .kmr-stripline ol li:last-child {
    display: none;
  }
}
@media (min-width: 768px) {
  .portfolio-entry-title {
    font-size: 34px;
    line-height: 1.15;
  }
  .portfolio-subtitle {
    font-size: 20px;
    margin-top: -4px;
  }
  .content-box {
    padding: 1.25rem 1.6125rem;
  }
  .kmr-stripline {
    background: linear-gradient(58deg, #753141 88%, #ffffff00 88%, #ffffff00 88.5%, #507282 88.5%, #507282 92.5%, #ffffff00 92.5%, #ffffff00 93%, #73884a 93%, #73884a 97.5%, #ffffff00 97.5%);
  }
}