/* Shared service detail presentation using editable Banner, Grid, Gallery and Pods. */
.nxb-service-detail-hero { color: #fff; background: #06365b; min-height: 300px; }
.nxb-service-detail-hero .nxb-banner__layout { min-height: 300px; }
.nxb-service-detail-hero.nxb-banner--size-original .nxb-banner__media { position: absolute; inset: 0 0 0 35%; }
.nxb-service-detail-hero.nxb-banner--size-original .nxb-banner__image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.nxb-service-detail-hero .nxb-banner__media::after { display: none; }
.nxb-service-detail-hero .nxb-banner__layout::before { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(115deg,#003357,#005486ed); clip-path: polygon(0 0,51% 0,42% 100%,0 100%); }
.nxb-service-detail-hero .nxb-banner__content { position: static; width: min(1220px,86%); margin-inline: auto; padding: 34px 0 28px; align-items: center; justify-content: flex-start; }
.nxb-service-detail-hero .nxb-banner__content-inner { width: 43%; max-width: 525px; text-align: left; }
.nxb-service-detail-hero .nxb-banner__title { max-width: 550px; color: #fff; font-size: clamp(32px,3.25vw,46px); line-height: 1.1; letter-spacing: -.4px; font-weight: 700; margin: 0 0 16px; }
.nxb-service-detail-hero .nxb-banner__title::after { content: ''; display: block; width: 65px; height: 2px; margin-top: 16px; background: #1497ce; }
.nxb-service-detail-hero .nxb-banner__intro { margin: 0; max-width: 565px; font-size: 17px; line-height: 1.5; }
.nxb-service-detail-hero .nxb-banner__intro p { margin: 0; }
.nxb-service-detail-hero .nxb-breadcrumb { width: 100%; max-width: none; margin: 0 0 18px; }
.nxb-service-detail-hero .nxb-breadcrumb ol { padding: 0; font-size: 13px; line-height: 1.4; }
.nxb-service-detail-hero .nxb-breadcrumb :is(a,li[aria-current=page]>span) { padding: 0; color: #c7deef; }
.nxb-service-detail-hero .nxb-breadcrumb li :is(a,span) { max-width: none; white-space: normal; }
.nxb-service-detail-hero .nxb-breadcrumb a>span::before { display: none; }
.nxb-service-detail-hero .nxb-breadcrumb li+li a::before { content: '›'; margin-right: 8px; }
.nxb-service-detail-hero .nxb-breadcrumb li>span::before { content: '›'; font-family: inherit; top: 0; }
.nxb-service-detail-hero .nxb-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.nxb-block:has(> .nxb-block__inner > :is(.nxb-service-detail-overview,.nxb-service-detail-installations,.nxb-service-detail-more)) { padding: 38px 0 32px; background: #fff; color: #152438; }
.nxb-block:has(> .nxb-block__inner > :is(.nxb-service-detail-overview,.nxb-service-detail-installations,.nxb-service-detail-more,.nxb-service-detail-benefits,.nxb-service-detail-accreditations)) > .nxb-block__inner { width: min(1220px,86%); max-width: 1220px; }
.nxb-service-detail-overview { --nxb-grid-column-gap: 44px; --nxb-grid-row-gap: 0; }
:is(.nxb-service-detail-overview,.nxb-service-detail-installations) :is(.nxb-grid-layout__inner,.nxb-text-block__inner) { width: 100%; max-width: none; padding: 0; }
:is(.nxb-service-detail-overview,.nxb-service-detail-installations) .nxb-block[data-component] { padding: 0; background: transparent; }
:is(.nxb-service-detail-overview,.nxb-service-detail-installations) .nxb-block[data-component] > .nxb-block__inner { width: 100%; max-width: none; }
main .nxb-service-detail-overview.nxb-grid-layout .nxb-grid-layout__row > .umb-block-grid__area-container { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 44px; align-items: start; }
.nxb-service-detail-overview .umb-block-grid__area-container > .umb-block-grid__area:nth-child(n) { grid-column: auto; }
:is(.nxb-service-detail-copy,.nxb-service-detail-installation-copy,.nxb-service-detail-more) .nxb-text-block__intro { margin: 0 0 16px; padding: 0; }
:is(.nxb-service-detail-copy,.nxb-service-detail-installation-copy,.nxb-service-detail-more) .nxb-text-block__secondary-heading { color: #007bbd; font-size: 14px; font-weight: 700; line-height: 1.4; letter-spacing: 2.4px; margin: 0 0 8px; }
:is(.nxb-service-detail-copy,.nxb-service-detail-installation-copy,.nxb-service-detail-more) .nxb-text-block__heading { color: #122036; font-size: clamp(27px,2.7vw,40px); font-weight: 700; line-height: 1.13; letter-spacing: -.55px; margin: 0 0 20px; }
.nxb-service-detail-copy .nxb-text-block__heading::after { content: ''; display: block; width: 65px; height: 2px; margin-top: 16px; background: #148fc9; }
:is(.nxb-service-detail-copy,.nxb-service-detail-installation-copy,.nxb-service-detail-installation-outro,.nxb-service-detail-more) :is(.nxb-text-block__content,.nxb-text-block__intro-text) { color: #344051; font-size: 16px; line-height: 1.45; margin: 0; }
:is(.nxb-service-detail-copy,.nxb-service-detail-installation-copy,.nxb-service-detail-installation-outro,.nxb-service-detail-more) p { font: inherit; margin: 0 0 16px; }
.nxb-service-detail-copy .nxb-text-block__outro { margin: 20px 0 0; padding: 0; }
.nxb-service-detail-copy .nxb-text-block__button { padding: 12px 23px; min-height: 46px; border: 1px solid #007abd; border-radius: 3px; background: #007abd; color: #fff; font-size: 16px; font-weight: 500; line-height: 1.3; }
.nxb-service-detail-copy .nxb-text-block__button::after { content: '→'; margin-left: 12px; font-size: 20px; }
.nxb-service-detail-copy .nxb-text-block__button:hover { background: #005286; border-color: #005286; }
.nxb-service-detail-copy .nxb-text-block__button:focus-visible { outline: 3px solid #078ccc; outline-offset: 4px; }
.nxb-service-detail-photos { margin: 0; }
.nxb-service-detail-photos .nxb-gallery__viewport { padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.nxb-service-detail-photos .nxb-gallery__item { border-radius: 7px; overflow: hidden; aspect-ratio: 6/5; }
.nxb-service-detail-photos .nxb-gallery__link { height: 100%; }
.nxb-service-detail-photos .nxb-gallery__image { width: 100%; height: 100%; object-fit: cover; }
.nxb-service-detail-photos .nxb-gallery__item:nth-child(n+5) { display: none; }
.nxb-block:has(> .nxb-block__inner > .nxb-service-detail-benefits) { padding: 32px 0; }
.nxb-service-detail-benefits.nxb-simple-pods:not(.nxb-simple-pods--carousel) .nxb-simple-pods__grid { padding: 0; gap: 0; }
.nxb-service-detail-benefits .nxb-simple-pods__content { padding-top: 66px; }
.nxb-service-detail-benefits .nxb-simple-pods__heading { font-size: 18px; }
.nxb-service-detail-benefits .nxb-simple-pods__text { font-size: 16px; max-width: 230px; }
.nxb-service-detail-benefits .nxb-credential-icon { width: 50px; height: 50px; left: calc(50% - 25px); }
.nxb-service-detail-benefits .nxb-credential-icon img { filter: brightness(.9) saturate(1.4); }
.nxb-service-detail-installations { --nxb-grid-row-gap: 24px; }
.nxb-service-detail-installation-copy .nxb-text-block__intro-text { max-width: 1020px; }
.nxb-installation-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(10,auto); grid-auto-flow: column; list-style: none; padding: 0; margin: 0; border-top: 1px solid #cdd7e1; border-left: 1px solid #cdd7e1; }
.nxb-service-detail-installation-copy .nxb-text-block__content > .nxb-installation-list { padding: 0; margin: 0; }
.nxb-service-detail-installation-copy .nxb-installation-list li { position: relative; margin: 0; padding: 9px 12px 9px 46px; border-right: 1px solid #cdd7e1; border-bottom: 1px solid #cdd7e1; font-size: 14px; line-height: 1.4; background: #fff; }
.nxb-installation-list li::before { content: '✓'; position: absolute; top: 10px; left: 15px; width: 19px; height: 19px; border-radius: 50%; background: #007fbf; color: #fff; text-align: center; font: bold 13px/19px Arial,sans-serif; }
.nxb-service-detail-installation-outro p { margin: 0; }
.nxb-service-detail-more .nxb-text-block__inner { width: 100%; max-width: none; padding: 0; }
.nxb-service-detail-more .nxb-text-block__content > ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; gap: 20px; margin: 22px 0; padding: 0; }
.nxb-service-detail-more .nxb-text-block__content > ul > li { padding: 24px; margin: 0; background: #f1f7fb; border-radius: 6px; }
.nxb-service-detail-more .nxb-text-block__content > ul > li > strong:first-child { display: block; color: #12304a; margin-bottom: 8px; font-size: 19px; }
.nxb-service-detail-more .nxb-text-block__content > p:has(> strong:only-child) { color: #12304a; font-size: 21px; margin-top: 26px; margin-bottom: 10px; }
.nxb-block:has(> .nxb-block__inner > .nxb-service-detail-accreditations) { padding: 28px 0 36px; }
.nxb-block--no-top:has(> .nxb-block__inner > :is(.nxb-service-detail-overview,.nxb-service-detail-benefits,.nxb-service-detail-installations,.nxb-service-detail-more,.nxb-service-detail-accreditations)) { padding-top: 0; }
.nxb-block--no-bottom:has(> .nxb-block__inner > :is(.nxb-service-detail-overview,.nxb-service-detail-benefits,.nxb-service-detail-installations,.nxb-service-detail-more,.nxb-service-detail-accreditations)) { padding-bottom: 0; }
@media(max-width:1100px) {
 .nxb-service-detail-hero .nxb-banner__content-inner { width: 51%; }
 .nxb-service-detail-hero .nxb-banner__intro { font-size: 15px; }
 main .nxb-service-detail-overview.nxb-grid-layout .nxb-grid-layout__row > .umb-block-grid__area-container { gap: 30px; }
 .nxb-service-detail-photos .nxb-gallery__viewport { gap: 14px; }
 .nxb-service-detail-copy .nxb-text-block__content { font-size: 15px; }
 .nxb-service-detail-benefits .nxb-simple-pods__heading { font-size: 16px; }
 .nxb-service-detail-benefits .nxb-simple-pods__text { font-size: 15px; }
 .nxb-service-detail-installation-copy .nxb-installation-list li { font-size: 13px; padding-left: 36px; }
 .nxb-installation-list li::before { left: 10px; width: 17px; height: 17px; line-height: 17px; }
}
@media(max-width:900px) {
 .nxb-service-detail-hero .nxb-banner__content { width: calc(100% - 48px); }
 .nxb-service-detail-hero .nxb-banner__content-inner { width: 60%; }
 .nxb-service-detail-hero .nxb-banner__layout::before { clip-path: polygon(0 0,65% 0,55% 100%,0 100%); }
 .nxb-block:has(> .nxb-block__inner > :is(.nxb-service-detail-overview,.nxb-service-detail-installations,.nxb-service-detail-more,.nxb-service-detail-benefits,.nxb-service-detail-accreditations)) > .nxb-block__inner { width: calc(100% - 48px); }
 .nxb-service-detail-benefits.nxb-simple-pods:not(.nxb-simple-pods--carousel) .nxb-simple-pods__grid { gap: 30px 0; }
 .nxb-service-detail-installation-copy .nxb-installation-list { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(15,auto); }
}
@media(max-width:767px) {
 main .nxb-service-detail-overview.nxb-grid-layout .nxb-grid-layout__row > .umb-block-grid__area-container { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .nxb-service-detail-photos .nxb-gallery__viewport { gap: 16px; }
 .nxb-service-detail-more .nxb-text-block__content > ul { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:600px) {
 .nxb-service-detail-hero.nxb-banner--size-original .nxb-banner__media { inset: 0; }
 .nxb-service-detail-hero .nxb-banner__layout::before { background: linear-gradient(100deg,#003357f5,#003357d4); clip-path: none; }
 .nxb-service-detail-hero .nxb-banner__content { width: calc(100% - 40px); padding: 28px 0 30px; }
 .nxb-service-detail-hero .nxb-banner__content-inner { width: 100%; }
 .nxb-service-detail-hero .nxb-banner__title { font-size: 32px; max-width: 350px; }
 .nxb-service-detail-hero .nxb-breadcrumb ol { font-size: 12px; }
 .nxb-service-detail-hero .nxb-banner__intro { font-size: 15px; }
 .nxb-block:has(> .nxb-block__inner > :is(.nxb-service-detail-overview,.nxb-service-detail-installations,.nxb-service-detail-more,.nxb-service-detail-accreditations)) { padding-block: 28px; }
 .nxb-block:has(> .nxb-block__inner > :is(.nxb-service-detail-overview,.nxb-service-detail-installations,.nxb-service-detail-more,.nxb-service-detail-benefits,.nxb-service-detail-accreditations)) > .nxb-block__inner { width: calc(100% - 40px); }
 .nxb-service-detail-benefits .nxb-simple-pods__card { padding-inline: 12px; }
 .nxb-service-detail-benefits .nxb-simple-pods__text { font-size: 14px; }
 .nxb-service-detail-installation-copy .nxb-installation-list { grid-template-columns: minmax(0,1fr); grid-template-rows: none; grid-auto-flow: row; }
 .nxb-service-detail-installation-copy .nxb-installation-list li { font-size: 14px; padding-block: 10px; }
 .nxb-installation-list li::before { top: 12px; }
}
