.bre-process-grid .wp-block-image {
  text-align: center;
}

/* Keep the desktop header session CTA on one line without changing other buttons. */
@media (min-width: 960px) {
  .builder-item--button_base > .item--inner .button.button-primary {
    font-size: 12px !important;
    white-space: nowrap !important;
  }
}

.bre-process-grid .wp-block-image img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.bre-process-grid {
  width: min(100%, 1080px);
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.bre-process-grid .bre-process-step {
  text-align: center;
  padding-left: 48px;
  padding-right: 48px;
}

.bre-process-grid .bre-process-step .wp-block-image {
  text-align: center;
}

.bre-process-grid .bre-process-step .wp-block-image img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.bre-process-grid .bre-process-border {
  border-left: 2px solid #7d9aca;
}

@media (max-width: 768px) {
  .bre-process-grid .bre-process-step {
    padding-left: 24px;
    padding-right: 24px;
  }

  .bre-process-grid .bre-process-border {
    border-left: none;
    border-top: 2px solid #7d9aca;
    padding-top: 36px;
    margin-top: 36px;
  }
}

hr.bre-short-line,
.bre-short-line {
  width: 20% !important;
  height: 3px;
  background-color: #7d9aca !important;
  border: 0 !important;
  margin-left: 0;
  margin-right: auto;
}

.bre-portrait-image-grid .wp-block-image {
  margin: 0;
}

.bre-portrait-image-grid .wp-block-image img {
  border: 2px solid #7d9aca;
  border-radius: 10px;
  display: block;
  width: 100%;
  height: auto;
}

.bre-portrait-image-grid .wp-block-themeisle-blocks-advanced-column {
  padding: 5px;
}

.bre-section-padding {
  padding-left: clamp(16px, 3vw, 40px);
  padding-right: clamp(16px, 3vw, 40px);
}

/* ---------------------- */
/* BRE primary style for all Otter button groups */
.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button a,
.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button .wp-block-button__link {
  background-color: #206098 !important;
  color: #ffffff !important;
  border: 1px solid #206098 !important;
  border-radius: 6px;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}

.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button a:hover,
.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button .wp-block-button__link:hover {
  background-color: #19344F !important;
  color: #ffffff !important;
  border-color: #19344F !important;
}

/* BRE light outline button: use on dark/photo backgrounds */
.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button.bre-button-light-outline a,
.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button.bre-button-light-outline .wp-block-button__link,
.wp-block-themeisle-blocks-button-group.bre-button-light-outline .wp-block-themeisle-blocks-button a,
.wp-block-themeisle-blocks-button-group.bre-button-light-outline .wp-block-themeisle-blocks-button .wp-block-button__link {
  background-color: transparent !important;
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
}

.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button.bre-button-light-outline a:hover,
.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button.bre-button-light-outline .wp-block-button__link:hover,
.wp-block-themeisle-blocks-button-group.bre-button-light-outline .wp-block-themeisle-blocks-button a:hover,
.wp-block-themeisle-blocks-button-group.bre-button-light-outline .wp-block-themeisle-blocks-button .wp-block-button__link:hover {
  background-color: #ffffff !important;
  color: #206098 !important;
  border-color: #ffffff !important;
}

/* BRE dark outline button: use on white/light backgrounds */
.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button.bre-button-dark-outline a,
.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button.bre-button-dark-outline .wp-block-button__link,
.wp-block-themeisle-blocks-button-group.bre-button-dark-outline .wp-block-themeisle-blocks-button a,
.wp-block-themeisle-blocks-button-group.bre-button-dark-outline .wp-block-themeisle-blocks-button .wp-block-button__link {
  background-color: transparent !important;
  color: #206098 !important;
  border: 1px solid #206098 !important;
}

.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button.bre-button-dark-outline a:hover,
.wp-block-themeisle-blocks-button-group .wp-block-themeisle-blocks-button.bre-button-dark-outline .wp-block-button__link:hover,
.wp-block-themeisle-blocks-button-group.bre-button-dark-outline .wp-block-themeisle-blocks-button a:hover,
.wp-block-themeisle-blocks-button-group.bre-button-dark-outline .wp-block-themeisle-blocks-button .wp-block-button__link:hover {
  background-color: #206098 !important;
  color: #ffffff !important;
  border-color: #206098 !important;
}

/* ---------------------- */
/* BRE Imagely / NextGEN Pro Lightbox System */
/* ---------------------- */

:root {
  --bre-font-heading: "playfair-display", Georgia, serif;
  --bre-font-body: "proxima-nova", Arial, sans-serif;
  --bre-img-primary: #206098;
  --bre-img-primary-hover: #19344F;
  --bre-img-navy: #09192C;
  --bre-img-toolbar-bg: #09192C;
  --bre-img-toolbar-hover: #19344F;
  --bre-img-panel: #ECF0F6;
  --bre-img-white: #ffffff;
  --bre-img-text: #22313D;
  --bre-img-muted: #B0B8C5;
  --bre-img-row: #F1F4F7;
  --bre-img-button-radius: 15px;
  --bre-img-photo-radius: 10px;
  --bre-img-photo-border: #7d9aca;
}

/* Main lightbox + sidebar backgrounds */
#npl_wrapper {
  background-color: var(--bre-img-white) !important;
}

#npl_wrapper #npl_content,
#npl_wrapper .galleria-container,
#npl_wrapper .galleria-stage,
#npl_wrapper .galleria-images,
#npl_wrapper .galleria-image {
  background-color: var(--bre-img-white) !important;
}

#npl_wrapper #npl_sidebar,
#npl_wrapper #ngg_add_to_cart_container,
#npl_wrapper #nggpl-cart-static-header,
#npl_wrapper #nggpl-items_for_sale,
#npl_wrapper .nggpl-pricelist_category_wrapper,
#npl_wrapper .nggpl-category_contents {
  background-color: var(--bre-img-panel) !important;
  color: var(--bre-img-text) !important;
}

#npl_wrapper #nggpl-cart_sidebar_checkout_buttons {
  background-color: var(--bre-img-panel) !important;
  color: var(--bre-img-text) !important;
  border: 0 !important;
  box-shadow: none !important;
}

#npl_wrapper .npl-sidebar,
#npl_wrapper .nggpl-sidebar,
#npl_wrapper .nggpl-sidebar-open,
#npl_wrapper .nggpl-cart,
#npl_wrapper .nggpl-cart-container {
  background-color: var(--bre-img-panel) !important;
  color: var(--bre-img-text) !important;
}

/* Cart panel heading: Add To Cart */
#npl_wrapper #nggpl-cart-static-header h2 {
  margin: 0 0 12px !important;
  padding: 0 0 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #071426 !important;
  font-family: var(--bre-font-heading) !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

#npl_wrapper #nggpl-cart-static-header h2::after {
  content: "";
  display: block;
  width: 64px;
  height: 2px;
  margin-top: 10px;
  background-color: var(--bre-img-primary);
}

/* Cart summary: item count and total */
#npl_wrapper #nggpl-cart-static-header .nggpl-cart_summary,
#npl_wrapper #nggpl-cart-static-header .nggpl-cart_count,
#npl_wrapper #nggpl-cart-static-header .nggpl-cart_total {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

#npl_wrapper #nggpl-cart-static-header .nggpl-cart_count {
  text-decoration: none !important;
}

#npl_wrapper #nggpl-cart-static-header .nggpl-cart_total i {
  color: var(--bre-img-text) !important;
}

/* Cart status / update message */
#npl_wrapper #nggpl-cart_updated_wrapper,
#npl_wrapper #nggpl-updated-message,
#npl_wrapper .nggpl-updated-message,
#npl_wrapper .nggpl-cart_updated,
#npl_wrapper .nggpl-cart-message,
#npl_wrapper .nggpl-message {
  background-color: var(--bre-img-panel) !important;
  border: 1px solid var(--bre-img-muted) !important;
  box-shadow: none !important;
}

#npl_wrapper #nggpl-cart_updated_wrapper,
#npl_wrapper #nggpl-cart_updated_wrapper *,
#npl_wrapper #nggpl-updated-message,
#npl_wrapper #nggpl-updated-message *,
#npl_wrapper #nggpl-updated-message p,
#npl_wrapper #nggpl-updated-message span,
#npl_wrapper .nggpl-updated-message,
#npl_wrapper .nggpl-updated-message *,
#npl_wrapper .nggpl-cart_updated,
#npl_wrapper .nggpl-cart_updated *,
#npl_wrapper .nggpl-cart-message,
#npl_wrapper .nggpl-cart-message *,
#npl_wrapper .nggpl-message,
#npl_wrapper .nggpl-message * {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
}

/* Carousel / bottom strip */
#npl_wrapper .galleria-carousel,
#npl_wrapper .galleria-thumbnails-container,
#npl_wrapper .npl-carousel,
#npl_wrapper .npl-footer,
#npl_wrapper .npl-info,
#npl_wrapper .galleria-info,
#npl_wrapper .galleria-info-text,
#npl_wrapper .galleria-nextgen-buttons,
#npl_wrapper .galleria-thumbnails-list,
#npl_wrapper .galleria-thumbnails {
  background-color: var(--bre-img-primary) !important;
  color: var(--bre-img-white) !important;
}

/* Carousel / bottom strip text */
#npl_wrapper .galleria-info-title,
#npl_wrapper .galleria-info-description,
#npl_wrapper .galleria-info-text,
#npl_wrapper .galleria-info-text *,
#npl_wrapper .npl-info,
#npl_wrapper .npl-info *,
#npl_wrapper .galleria-thumbnails-container,
#npl_wrapper .galleria-thumbnails-container * {
  color: var(--bre-img-white) !important;
}

#npl_wrapper .galleria-info-title,
#npl_wrapper .galleria-info-description,
#npl_wrapper .galleria-info-text,
#npl_wrapper .galleria-info-text div {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Carousel tray top toggle tab */
#npl_wrapper .galleria-dock-toggle-container {
  background-color: var(--bre-img-primary) !important;
  border: 0 !important;
  border-radius: 8px 8px 0 0 !important;
  box-shadow: none !important;
  color: var(--bre-img-white) !important;
}

#npl_wrapper .galleria-dock-toggle-container i {
  color: var(--bre-img-white) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#npl_wrapper .galleria-dock-toggle-container:hover {
  background-color: var(--bre-img-primary-hover) !important;
  border-color: var(--bre-img-primary-hover) !important;
}

#npl_wrapper .galleria-dock-toggle-container:hover i {
  color: var(--bre-img-white) !important;
}

/* Main displayed image */
#npl_wrapper .galleria-stage img,
#npl_wrapper .galleria-image img,
#npl_wrapper .npl-stage img {
  border: 2px solid var(--bre-img-photo-border) !important;
  border-radius: var(--bre-img-photo-radius) !important;
}

/* Floating icons / arrows */
#npl_wrapper #npl_button_close,
#npl_wrapper #npl_button_close i,
#npl_wrapper #npl_sidebar_toggle,
#npl_wrapper .galleria-image-nav-left,
#npl_wrapper .galleria-image-nav-left i,
#npl_wrapper .galleria-image-nav-right,
#npl_wrapper .galleria-image-nav-right i,
#npl_wrapper .galleria-thumb-nav-left,
#npl_wrapper .galleria-thumb-nav-left i,
#npl_wrapper .galleria-thumb-nav-right,
#npl_wrapper .galleria-thumb-nav-right i,
#npl_wrapper .npl-close,
#npl_wrapper .npl-close i,
#npl_wrapper .npl-icon,
#npl_wrapper .npl-icon i,
#npl_wrapper button[class*="close"],
#npl_wrapper button[class*="close"] i,
#npl_wrapper button[class*="arrow"],
#npl_wrapper button[class*="arrow"] i,
#npl_wrapper [class*="close"],
#npl_wrapper [class*="close"] i,
#npl_wrapper [class*="arrow"],
#npl_wrapper [class*="arrow"] i {
  color: var(--bre-img-primary) !important;
}

#npl_wrapper #npl_button_close:hover,
#npl_wrapper #npl_button_close:hover i,
#npl_wrapper #npl_sidebar_toggle:hover,
#npl_wrapper .galleria-image-nav-left:hover,
#npl_wrapper .galleria-image-nav-left:hover i,
#npl_wrapper .galleria-image-nav-right:hover,
#npl_wrapper .galleria-image-nav-right:hover i,
#npl_wrapper .galleria-thumb-nav-left:hover,
#npl_wrapper .galleria-thumb-nav-left:hover i,
#npl_wrapper .galleria-thumb-nav-right:hover,
#npl_wrapper .galleria-thumb-nav-right:hover i {
  color: var(--bre-img-primary-hover) !important;
}

/* Round toolbar buttons at bottom left of the lightbox */
#npl_wrapper .galleria-nextgen-buttons .nggpl-toolbar-button,
#npl_wrapper .galleria-nextgen-buttons .nggpl-button.nggpl-toolbar-button {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--bre-img-white) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

#npl_wrapper .galleria-nextgen-buttons .nggpl-toolbar-button i,
#npl_wrapper .galleria-nextgen-buttons .nggpl-button.nggpl-toolbar-button i {
  color: var(--bre-img-white) !important;
}

#npl_wrapper .galleria-nextgen-buttons .nggpl-toolbar-button:hover,
#npl_wrapper .galleria-nextgen-buttons .nggpl-button.nggpl-toolbar-button:hover {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
}

#npl_wrapper .galleria-nextgen-buttons .nggpl-toolbar-button:hover i,
#npl_wrapper .galleria-nextgen-buttons .nggpl-button.nggpl-toolbar-button:hover i {
  color: var(--bre-img-navy) !important;
}

/* Comments sidebar */
#npl_wrapper #npl_sidebar #comments,
#npl_wrapper #npl_sidebar .comments-area,
#npl_wrapper #npl_sidebar #respond,
#npl_wrapper #npl_sidebar #commentform {
  background-color: var(--bre-img-panel) !important;
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
}

#npl_wrapper #npl_sidebar #comments h2,
#npl_wrapper #npl_sidebar #comments h3,
#npl_wrapper #npl_sidebar #respond h2,
#npl_wrapper #npl_sidebar #respond h3,
#npl_wrapper #npl_sidebar .comments-title,
#npl_wrapper #npl_sidebar .comment-reply-title {
  margin: 0 0 18px !important;
  padding: 0 0 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #071426 !important;
  font-family: var(--bre-font-heading) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

#npl_wrapper #npl_sidebar #comments h2::after,
#npl_wrapper #npl_sidebar #comments h3::after,
#npl_wrapper #npl_sidebar #respond h2::after,
#npl_wrapper #npl_sidebar #respond h3::after,
#npl_wrapper #npl_sidebar .comments-title::after,
#npl_wrapper #npl_sidebar .comment-reply-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 2px;
  margin-top: 10px;
  background-color: var(--bre-img-primary);
}

#npl_wrapper #npl_sidebar #commentform label,
#npl_wrapper #npl_sidebar #commentform .comment-notes,
#npl_wrapper #npl_sidebar #commentform .logged-in-as,
#npl_wrapper #npl_sidebar #commentform .form-allowed-tags {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
}

#npl_wrapper #npl_sidebar #commentform textarea,
#npl_wrapper #npl_sidebar #commentform input[type="text"],
#npl_wrapper #npl_sidebar #commentform input[type="email"],
#npl_wrapper #npl_sidebar #commentform input[type="url"] {
  width: 100% !important;
  background-color: var(--bre-img-white) !important;
  color: var(--bre-img-text) !important;
  border: 1px solid rgba(176, 184, 197, 0.6) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-family: var(--bre-font-body) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}

#npl_wrapper #npl_sidebar #commentform textarea:focus,
#npl_wrapper #npl_sidebar #commentform input[type="text"]:focus,
#npl_wrapper #npl_sidebar #commentform input[type="email"]:focus,
#npl_wrapper #npl_sidebar #commentform input[type="url"]:focus {
  border-color: var(--bre-img-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(32, 96, 152, 0.18) !important;
}

#npl_wrapper #npl_sidebar #commentform input[type="submit"],
#npl_wrapper #npl_sidebar #commentform button[type="submit"],
#npl_wrapper #npl_sidebar #commentform .submit,
#npl_wrapper #npl_sidebar #commentform input.submit,
#npl_wrapper #npl_sidebar #commentform #nggpl-submit,
#npl_wrapper #npl_sidebar #nggpl-submit,
#npl_wrapper #npl_sidebar #submit {
  width: 100% !important;
  background: var(--bre-img-primary) !important;
  background-color: var(--bre-img-primary) !important;
  background-image: none !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border: 1px solid var(--bre-img-primary) !important;
  border-radius: var(--bre-img-button-radius) !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 14px 22px !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: none !important;
}

#npl_wrapper #npl_sidebar #commentform input[type="submit"]:hover,
#npl_wrapper #npl_sidebar #commentform button[type="submit"]:hover,
#npl_wrapper #npl_sidebar #commentform .submit:hover,
#npl_wrapper #npl_sidebar #commentform input.submit:hover,
#npl_wrapper #npl_sidebar #commentform #nggpl-submit:hover,
#npl_wrapper #npl_sidebar #nggpl-submit:hover,
#npl_wrapper #npl_sidebar #submit:hover,
#npl_wrapper #npl_sidebar #commentform input[type="submit"]:focus,
#npl_wrapper #npl_sidebar #commentform button[type="submit"]:focus,
#npl_wrapper #npl_sidebar #commentform .submit:focus,
#npl_wrapper #npl_sidebar #commentform input.submit:focus,
#npl_wrapper #npl_sidebar #commentform #nggpl-submit:focus,
#npl_wrapper #npl_sidebar #nggpl-submit:focus,
#npl_wrapper #npl_sidebar #submit:focus {
  background: var(--bre-img-primary-hover) !important;
  background-color: var(--bre-img-primary-hover) !important;
  background-image: none !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border-color: var(--bre-img-primary-hover) !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: none !important;
}

/* Hide extra helper markup that some comment plugins expose inside the lightbox. */
#npl_wrapper #npl_sidebar #commentform .form-allowed-tags,
#npl_wrapper #npl_sidebar #commentform .comment-form-cookies-consent,
#npl_wrapper #npl_sidebar #commentform .form-submit ~ p,
#npl_wrapper #npl_sidebar #commentform .form-submit ~ div,
#npl_wrapper #npl_sidebar #commentform .form-submit ~ textarea,
#npl_wrapper #npl_sidebar #commentform .form-submit ~ script,
#npl_wrapper #npl_sidebar #commentform .form-submit ~ noscript {
  display: none !important;
}

/* Product category tab wrappers: remove Imagely's original square backing */
#npl_wrapper #nggpl-category-headers,
#npl_wrapper #nggpl-category-headers h3,
#npl_wrapper .nggpl-pricelist_category_wrapper > h3,
#npl_wrapper .nggpl-pricelist_category_wrapper h3 {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Product category tabs at the top: PRINTS / DIGITAL DOWNLOADS */
#npl_wrapper #nggpl-category-headers #ngg_category_digital_downloads_header,
#npl_wrapper #nggpl-category-headers [id^="ngg_category_"][id$="_header"] {
  background-color: var(--bre-img-primary) !important;
  color: var(--bre-img-white) !important;
  border: 1px solid var(--bre-img-primary) !important;
  border-radius: var(--bre-img-button-radius) !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 10px 16px !important;
  line-height: 1.2 !important;
  display: inline-block !important;
}

#npl_wrapper #nggpl-category-headers #ngg_category_digital_downloads_header:hover,
#npl_wrapper #nggpl-category-headers [id^="ngg_category_"][id$="_header"]:hover {
  background-color: var(--bre-img-primary-hover) !important;
  border-color: var(--bre-img-primary-hover) !important;
}

/* Product section headings above tables: Prints / Digital Downloads */
#npl_wrapper .nggpl-pricelist_category_wrapper > h3,
#npl_wrapper .nggpl-pricelist_category_wrapper h3 {
  margin: 24px 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#npl_wrapper .nggpl-pricelist_category_wrapper > h3 span,
#npl_wrapper .nggpl-pricelist_category_wrapper h3 span {
  display: inline-block !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #071426 !important;
  font-family: var(--bre-font-heading) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  padding: 0 0 8px !important;
}

#npl_wrapper .nggpl-pricelist_category_wrapper > h3 span::after,
#npl_wrapper .nggpl-pricelist_category_wrapper h3 span::after {
  content: "";
  display: block;
  width: 56px;
  height: 2px;
  margin-top: 8px;
  background-color: var(--bre-img-primary);
}

/* Product rows */
#npl_wrapper .nggpl-cart table tr,
#npl_wrapper [id^="ngg_category_"] table tr {
  background-color: var(--bre-img-row) !important;
}

#npl_wrapper .nggpl-cart table td,
#npl_wrapper .nggpl-cart table th,
#npl_wrapper [id^="ngg_category_"] table td,
#npl_wrapper [id^="ngg_category_"] table th {
  color: var(--bre-img-text) !important;
  border-color: rgba(176, 184, 197, 0.35) !important;
}

/* Quantity controls */
#npl_wrapper .nggpl-quantity_field button,
#npl_wrapper .nggpl-download-quantity_field button:not(.nggpl-add-download-button) {
  background-color: var(--bre-img-white) !important;
  color: var(--bre-img-text) !important;
  border: 1px solid var(--bre-img-muted) !important;
  border-radius: 6px !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
}

/* Digital download row Add buttons */
#npl_wrapper .nggpl-download-quantity_field button.nggpl-add-download-button,
#npl_wrapper button.nggpl-add-download-button {
  background-color: var(--bre-img-primary) !important;
  color: var(--bre-img-white) !important;
  border: 1px solid var(--bre-img-primary) !important;
  border-radius: var(--bre-img-button-radius) !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
}

#npl_wrapper .nggpl-download-quantity_field button.nggpl-add-download-button:hover,
#npl_wrapper button.nggpl-add-download-button:hover,
#npl_wrapper .nggpl-download-quantity_field button.nggpl-add-download-button:focus,
#npl_wrapper button.nggpl-add-download-button:focus {
  background-color: var(--bre-img-primary-hover) !important;
  color: var(--bre-img-white) !important;
  border-color: var(--bre-img-primary-hover) !important;
}

/* Main Imagely ecommerce buttons */
#npl_wrapper .nggpl-button,
#npl_wrapper input.nggpl-button,
#npl_wrapper button.nggpl-add-download-button,
#npl_wrapper #ngg_update_cart_btn,
#npl_wrapper #ngg_checkout_btn {
  background-color: var(--bre-img-primary) !important;
  color: var(--bre-img-white) !important;
  border: 1px solid var(--bre-img-primary) !important;
  border-radius: var(--bre-img-button-radius) !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 14px 22px !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
}

#npl_wrapper .nggpl-button:hover,
#npl_wrapper input.nggpl-button:hover,
#npl_wrapper button.nggpl-add-download-button:hover,
#npl_wrapper #ngg_update_cart_btn:hover,
#npl_wrapper #ngg_checkout_btn:hover {
  background-color: var(--bre-img-primary-hover) !important;
  color: var(--bre-img-white) !important;
  border-color: var(--bre-img-primary-hover) !important;
}

/* Bottom checkout buttons: override Imagely lightbox hover dimming */
#npl_wrapper #nggpl-cart_sidebar_checkout_buttons #ngg_update_cart_btn:hover,
#npl_wrapper #nggpl-cart_sidebar_checkout_buttons #ngg_checkout_btn:hover,
#npl_wrapper #nggpl-cart_sidebar_checkout_buttons #ngg_update_cart_btn:focus,
#npl_wrapper #nggpl-cart_sidebar_checkout_buttons #ngg_checkout_btn:focus,
#npl_wrapper #nggpl-cart_sidebar_checkout_buttons #ngg_update_cart_btn:active,
#npl_wrapper #nggpl-cart_sidebar_checkout_buttons #ngg_checkout_btn:active,
#npl_wrapper #ngg_update_cart_btn:hover,
#npl_wrapper #ngg_checkout_btn:hover,
#npl_wrapper #ngg_update_cart_btn:focus,
#npl_wrapper #ngg_checkout_btn:focus,
#npl_wrapper #ngg_update_cart_btn:active,
#npl_wrapper #ngg_checkout_btn:active {
  background: var(--bre-img-primary-hover) !important;
  background-color: var(--bre-img-primary-hover) !important;
  background-image: none !important;
  color: var(--bre-img-white) !important;
  border-color: var(--bre-img-primary-hover) !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* ---------------------- */
/* BRE Imagely / NextGEN Pro Standalone Shopping Cart */
/* ---------------------- */

.nggpl-cart,
.nggpl-checkout,
.nggpl-ecommerce,
.nggpl-cart-page,
.nggpl-cart-container,
.nggpl-checkout-container,
.entry-content .nggpl-cart,
.entry-content .nggpl-checkout {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
}

.nggpl-cart h1,
.nggpl-cart h2,
.nggpl-cart h3,
.nggpl-checkout h1,
.nggpl-checkout h2,
.nggpl-checkout h3,
.nggpl-ecommerce h1,
.nggpl-ecommerce h2,
.nggpl-ecommerce h3 {
  color: #071426 !important;
  font-family: var(--bre-font-heading) !important;
  font-weight: 600 !important;
  text-transform: none !important;
}

.nggpl-cart table,
.nggpl-checkout table,
.nggpl-ecommerce table,
.entry-content table.nggpl-cart,
.entry-content table.nggpl-checkout {
  width: 100% !important;
  background-color: var(--bre-img-white) !important;
  border: 1px solid rgba(176, 184, 197, 0.6) !important;
  border-collapse: collapse !important;
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
}

.nggpl-cart table th,
.nggpl-cart table td,
.nggpl-checkout table th,
.nggpl-checkout table td,
.nggpl-ecommerce table th,
.nggpl-ecommerce table td,
.entry-content table.nggpl-cart th,
.entry-content table.nggpl-cart td {
  color: var(--bre-img-text) !important;
  border-color: rgba(176, 184, 197, 0.35) !important;
  font-family: var(--bre-font-body) !important;
}

.nggpl-cart table th,
.nggpl-checkout table th,
.nggpl-ecommerce table th,
.entry-content table.nggpl-cart th {
  background-color: var(--bre-img-white) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.nggpl-cart table tr:nth-child(even),
.nggpl-checkout table tr:nth-child(even),
.nggpl-ecommerce table tr:nth-child(even),
.entry-content table.nggpl-cart tr:nth-child(even) {
  background-color: var(--bre-img-row) !important;
}

.nggpl-cart img,
.nggpl-checkout img,
.nggpl-ecommerce img,
.entry-content table.nggpl-cart img {
  border: 2px solid var(--bre-img-photo-border) !important;
  border-radius: var(--bre-img-photo-radius) !important;
  box-shadow: none !important;
}

.nggpl-cart input[type="text"],
.nggpl-cart input[type="email"],
.nggpl-cart input[type="tel"],
.nggpl-cart input[type="number"],
.nggpl-cart select,
.nggpl-cart textarea,
.nggpl-checkout input[type="text"],
.nggpl-checkout input[type="email"],
.nggpl-checkout input[type="tel"],
.nggpl-checkout input[type="number"],
.nggpl-checkout select,
.nggpl-checkout textarea,
.nggpl-ecommerce input[type="text"],
.nggpl-ecommerce input[type="email"],
.nggpl-ecommerce input[type="tel"],
.nggpl-ecommerce input[type="number"],
.nggpl-ecommerce select,
.nggpl-ecommerce textarea {
  background-color: var(--bre-img-white) !important;
  color: var(--bre-img-text) !important;
  border: 1px solid rgba(176, 184, 197, 0.6) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-family: var(--bre-font-body) !important;
}

.nggpl-cart input:focus,
.nggpl-cart select:focus,
.nggpl-cart textarea:focus,
.nggpl-checkout input:focus,
.nggpl-checkout select:focus,
.nggpl-checkout textarea:focus,
.nggpl-ecommerce input:focus,
.nggpl-ecommerce select:focus,
.nggpl-ecommerce textarea:focus {
  border-color: var(--bre-img-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(32, 96, 152, 0.18) !important;
}

.nggpl-cart label,
.nggpl-checkout label,
.nggpl-ecommerce label {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
}

.nggpl-cart .nggpl-button,
.nggpl-checkout .nggpl-button,
.nggpl-ecommerce .nggpl-button,
.nggpl-cart button,
.nggpl-checkout button,
.nggpl-ecommerce button,
.nggpl-cart input[type="button"],
.nggpl-cart input[type="submit"],
.nggpl-checkout input[type="button"],
.nggpl-checkout input[type="submit"],
.nggpl-ecommerce input[type="button"],
.nggpl-ecommerce input[type="submit"],
.entry-content input.nggpl-button,
.entry-content button.nggpl-button {
  background: var(--bre-img-primary) !important;
  background-color: var(--bre-img-primary) !important;
  background-image: none !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border: 1px solid var(--bre-img-primary) !important;
  border-radius: var(--bre-img-button-radius) !important;
  box-shadow: none !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 14px 22px !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
  filter: none !important;
  cursor: pointer !important;
}

.nggpl-cart .nggpl-button:hover,
.nggpl-checkout .nggpl-button:hover,
.nggpl-ecommerce .nggpl-button:hover,
.nggpl-cart button:hover,
.nggpl-checkout button:hover,
.nggpl-ecommerce button:hover,
.nggpl-cart input[type="button"]:hover,
.nggpl-cart input[type="submit"]:hover,
.nggpl-checkout input[type="button"]:hover,
.nggpl-checkout input[type="submit"]:hover,
.nggpl-ecommerce input[type="button"]:hover,
.nggpl-ecommerce input[type="submit"]:hover,
.entry-content input.nggpl-button:hover,
.entry-content button.nggpl-button:hover,
.nggpl-cart .nggpl-button:focus,
.nggpl-checkout .nggpl-button:focus,
.nggpl-ecommerce .nggpl-button:focus,
.nggpl-cart button:focus,
.nggpl-checkout button:focus,
.nggpl-ecommerce button:focus,
.nggpl-cart input[type="button"]:focus,
.nggpl-cart input[type="submit"]:focus,
.nggpl-checkout input[type="button"]:focus,
.nggpl-checkout input[type="submit"]:focus,
.nggpl-ecommerce input[type="button"]:focus,
.nggpl-ecommerce input[type="submit"]:focus,
.entry-content input.nggpl-button:focus,
.entry-content button.nggpl-button:focus {
  background: var(--bre-img-primary-hover) !important;
  background-color: var(--bre-img-primary-hover) !important;
  background-image: none !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border-color: var(--bre-img-primary-hover) !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: none !important;
}

.nggpl-cart button:disabled,
.nggpl-cart input:disabled,
.nggpl-checkout button:disabled,
.nggpl-checkout input:disabled,
.nggpl-ecommerce button:disabled,
.nggpl-ecommerce input:disabled {
  background: var(--bre-img-muted) !important;
  background-color: var(--bre-img-muted) !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border-color: var(--bre-img-muted) !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

.nggpl-cart .nggpl-quantity_field button,
.nggpl-checkout .nggpl-quantity_field button,
.nggpl-ecommerce .nggpl-quantity_field button {
  min-width: 32px !important;
  padding: 8px 10px !important;
  background: var(--bre-img-white) !important;
  background-color: var(--bre-img-white) !important;
  color: var(--bre-img-text) !important;
  -webkit-text-fill-color: var(--bre-img-text) !important;
  border: 1px solid var(--bre-img-muted) !important;
  border-radius: 6px !important;
}

.nggpl-cart .nggpl-quantity_field button:hover,
.nggpl-checkout .nggpl-quantity_field button:hover,
.nggpl-ecommerce .nggpl-quantity_field button:hover {
  background: var(--bre-img-row) !important;
  background-color: var(--bre-img-row) !important;
  color: var(--bre-img-primary-hover) !important;
  -webkit-text-fill-color: var(--bre-img-primary-hover) !important;
  border-color: var(--bre-img-primary) !important;
}

.nggpl-cart .nggpl-cart-total,
.nggpl-cart .nggpl-cart-totals,
.nggpl-cart .nggpl-total,
.nggpl-checkout .nggpl-cart-total,
.nggpl-checkout .nggpl-cart-totals,
.nggpl-checkout .nggpl-total,
.nggpl-ecommerce .nggpl-cart-total,
.nggpl-ecommerce .nggpl-cart-totals,
.nggpl-ecommerce .nggpl-total {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
}

/* Standalone cart fallback selectors for Imagely markup outside .nggpl-cart wrappers */
.entry-content form[id*="ngg"],
.entry-content form[class*="ngg"],
.entry-content div[id*="nggpl"],
.entry-content div[class*="nggpl"],
.entry-content table[id*="ngg"],
.entry-content table[class*="ngg"] {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
}

.entry-content form[id*="ngg"] table,
.entry-content form[class*="ngg"] table,
.entry-content div[id*="nggpl"] table,
.entry-content div[class*="nggpl"] table,
.entry-content table[id*="ngg"],
.entry-content table[class*="ngg"] {
  background-color: var(--bre-img-white) !important;
  border-color: rgba(176, 184, 197, 0.6) !important;
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
}

.entry-content form[id*="ngg"] th,
.entry-content form[id*="ngg"] td,
.entry-content form[class*="ngg"] th,
.entry-content form[class*="ngg"] td,
.entry-content div[id*="nggpl"] th,
.entry-content div[id*="nggpl"] td,
.entry-content div[class*="nggpl"] th,
.entry-content div[class*="nggpl"] td,
.entry-content table[id*="ngg"] th,
.entry-content table[id*="ngg"] td,
.entry-content table[class*="ngg"] th,
.entry-content table[class*="ngg"] td {
  color: var(--bre-img-text) !important;
  border-color: rgba(176, 184, 197, 0.35) !important;
  font-family: var(--bre-font-body) !important;
}

.entry-content form[id*="ngg"] tr:nth-child(even),
.entry-content form[class*="ngg"] tr:nth-child(even),
.entry-content div[id*="nggpl"] tr:nth-child(even),
.entry-content div[class*="nggpl"] tr:nth-child(even),
.entry-content table[id*="ngg"] tr:nth-child(even),
.entry-content table[class*="ngg"] tr:nth-child(even) {
  background-color: var(--bre-img-row) !important;
}

.entry-content form[id*="ngg"] img,
.entry-content form[class*="ngg"] img,
.entry-content div[id*="nggpl"] img,
.entry-content div[class*="nggpl"] img,
.entry-content table[id*="ngg"] img,
.entry-content table[class*="ngg"] img {
  border: 2px solid var(--bre-img-photo-border) !important;
  border-radius: var(--bre-img-photo-radius) !important;
  box-shadow: none !important;
}

.entry-content form[id*="ngg"] input,
.entry-content form[id*="ngg"] select,
.entry-content form[id*="ngg"] textarea,
.entry-content form[class*="ngg"] input,
.entry-content form[class*="ngg"] select,
.entry-content form[class*="ngg"] textarea,
.entry-content div[id*="nggpl"] input,
.entry-content div[id*="nggpl"] select,
.entry-content div[id*="nggpl"] textarea,
.entry-content div[class*="nggpl"] input,
.entry-content div[class*="nggpl"] select,
.entry-content div[class*="nggpl"] textarea {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
}

.entry-content form[id*="ngg"] input[type="text"],
.entry-content form[id*="ngg"] input[type="email"],
.entry-content form[id*="ngg"] input[type="tel"],
.entry-content form[id*="ngg"] input[type="number"],
.entry-content form[id*="ngg"] select,
.entry-content form[class*="ngg"] input[type="text"],
.entry-content form[class*="ngg"] input[type="email"],
.entry-content form[class*="ngg"] input[type="tel"],
.entry-content form[class*="ngg"] input[type="number"],
.entry-content form[class*="ngg"] select,
.entry-content div[id*="nggpl"] input[type="text"],
.entry-content div[id*="nggpl"] input[type="email"],
.entry-content div[id*="nggpl"] input[type="tel"],
.entry-content div[id*="nggpl"] input[type="number"],
.entry-content div[id*="nggpl"] select,
.entry-content div[class*="nggpl"] input[type="text"],
.entry-content div[class*="nggpl"] input[type="email"],
.entry-content div[class*="nggpl"] input[type="tel"],
.entry-content div[class*="nggpl"] input[type="number"],
.entry-content div[class*="nggpl"] select {
  background-color: var(--bre-img-white) !important;
  border: 1px solid rgba(176, 184, 197, 0.6) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.entry-content input[value="Continue Shopping"],
.entry-content input[value="CONTINUE SHOPPING"],
.entry-content input[value="Empty Cart"],
.entry-content input[value="EMPTY CART"],
.entry-content input[value="Apply"],
.entry-content input[value="APPLY"],
.entry-content input[value="Pay by Check"],
.entry-content input[value="PAY BY CHECK"],
.entry-content button[value="Continue Shopping"],
.entry-content button[value="Empty Cart"],
.entry-content button[value="Apply"],
.entry-content button[value="Pay by Check"],
.entry-content a[class*="ngg"][class*="button"],
.entry-content input[id*="ngg"][type="button"],
.entry-content input[id*="ngg"][type="submit"],
.entry-content button[id*="ngg"],
.entry-content input[class*="ngg"][type="button"],
.entry-content input[class*="ngg"][type="submit"],
.entry-content button[class*="ngg"] {
  background: var(--bre-img-primary) !important;
  background-color: var(--bre-img-primary) !important;
  background-image: none !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border: 1px solid var(--bre-img-primary) !important;
  border-radius: var(--bre-img-button-radius) !important;
  box-shadow: none !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 14px 22px !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
  filter: none !important;
  cursor: pointer !important;
}

.entry-content input[value="Continue Shopping"]:hover,
.entry-content input[value="CONTINUE SHOPPING"]:hover,
.entry-content input[value="Empty Cart"]:hover,
.entry-content input[value="EMPTY CART"]:hover,
.entry-content input[value="Apply"]:hover,
.entry-content input[value="APPLY"]:hover,
.entry-content input[value="Pay by Check"]:hover,
.entry-content input[value="PAY BY CHECK"]:hover,
.entry-content input[value="Continue Shopping"]:focus,
.entry-content input[value="CONTINUE SHOPPING"]:focus,
.entry-content input[value="Empty Cart"]:focus,
.entry-content input[value="EMPTY CART"]:focus,
.entry-content input[value="Apply"]:focus,
.entry-content input[value="APPLY"]:focus,
.entry-content input[value="Pay by Check"]:focus,
.entry-content input[value="PAY BY CHECK"]:focus,
.entry-content a[class*="ngg"][class*="button"]:hover,
.entry-content input[id*="ngg"][type="button"]:hover,
.entry-content input[id*="ngg"][type="submit"]:hover,
.entry-content button[id*="ngg"]:hover,
.entry-content input[class*="ngg"][type="button"]:hover,
.entry-content input[class*="ngg"][type="submit"]:hover,
.entry-content button[class*="ngg"]:hover,
.entry-content a[class*="ngg"][class*="button"]:focus,
.entry-content input[id*="ngg"][type="button"]:focus,
.entry-content input[id*="ngg"][type="submit"]:focus,
.entry-content button[id*="ngg"]:focus,
.entry-content input[class*="ngg"][type="button"]:focus,
.entry-content input[class*="ngg"][type="submit"]:focus,
.entry-content button[class*="ngg"]:focus {
  background: var(--bre-img-primary-hover) !important;
  background-color: var(--bre-img-primary-hover) !important;
  background-image: none !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border-color: var(--bre-img-primary-hover) !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: none !important;
}

/* NextGEN Pro standalone cart exact selectors */
#ngg_pro_continue_shopping,
#ngg_pro_links_wrapper .ngg_pro_btn,
#ngg_pro_links_wrapper a.ngg_pro_btn,
a.ngg_pro_btn,
input.ngg_pro_btn,
button.ngg_pro_btn {
  background: var(--bre-img-primary) !important;
  background-color: var(--bre-img-primary) !important;
  background-image: none !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border: 1px solid var(--bre-img-primary) !important;
  border-radius: var(--bre-img-button-radius) !important;
  box-shadow: none !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 14px 22px !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
  filter: none !important;
  cursor: pointer !important;
}

#ngg_pro_continue_shopping:hover,
#ngg_pro_links_wrapper .ngg_pro_btn:hover,
#ngg_pro_links_wrapper a.ngg_pro_btn:hover,
a.ngg_pro_btn:hover,
input.ngg_pro_btn:hover,
button.ngg_pro_btn:hover,
#ngg_pro_continue_shopping:focus,
#ngg_pro_links_wrapper .ngg_pro_btn:focus,
#ngg_pro_links_wrapper a.ngg_pro_btn:focus,
a.ngg_pro_btn:focus,
input.ngg_pro_btn:focus,
button.ngg_pro_btn:focus {
  background: var(--bre-img-primary-hover) !important;
  background-color: var(--bre-img-primary-hover) !important;
  background-image: none !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border-color: var(--bre-img-primary-hover) !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: none !important;
}

/* BRE interior page title treatment */
body:not(.home) .nv-single-page-wrap h1,
body:not(.home) .nv-page-title h1 {
  color: #071426 !important;
  font-family: var(--bre-font-heading) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

body:not(.home) .nv-single-page-wrap h1::after,
body:not(.home) .nv-page-title h1::after {
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  margin-top: 14px;
  background-color: var(--bre-img-primary);
}

/* NextGEN Pro order confirmation thumbnails */
.ngg_order_image_column img,
td.ngg_order_image_column img,
.entry-content .ngg_order_image_column img,
#content .ngg_order_image_column img {
  border: 2px solid var(--bre-img-photo-border) !important;
  border-radius: var(--bre-img-photo-radius) !important;
  box-shadow: none !important;
  display: block !important;
  height: auto !important;
}

/* NextGEN Pro digital downloads thumbnails */
.digital_downloads_list td.image_column img,
.entry-content .digital_downloads_list td.image_column img,
td.image_column img {
  border: 2px solid var(--bre-img-photo-border) !important;
  border-radius: var(--bre-img-photo-radius) !important;
  box-shadow: none !important;
  display: block !important;
  height: auto !important;
}

/* NextGEN gallery pagination */
.ngg-navigation,
.entry-content .ngg-navigation {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
}

.ngg-navigation a,
.ngg-navigation span,
.ngg-navigation .page-numbers,
.ngg-navigation .next,
.ngg-navigation .prev {
  background: var(--bre-img-primary) !important;
  background-color: var(--bre-img-primary) !important;
  background-image: none !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border: 1px solid var(--bre-img-primary) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-family: var(--bre-font-body) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
}

.ngg-navigation a:hover,
.ngg-navigation a:focus,
.ngg-navigation .page-numbers:hover,
.ngg-navigation .page-numbers:focus,
.ngg-navigation .next:hover,
.ngg-navigation .next:focus,
.ngg-navigation .prev:hover,
.ngg-navigation .prev:focus {
  background: var(--bre-img-primary-hover) !important;
  background-color: var(--bre-img-primary-hover) !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border-color: var(--bre-img-primary-hover) !important;
}

.ngg-navigation span.current,
.ngg-navigation .current {
  background: var(--bre-img-primary-hover) !important;
  background-color: var(--bre-img-primary-hover) !important;
  color: var(--bre-img-white) !important;
  -webkit-text-fill-color: var(--bre-img-white) !important;
  border-color: var(--bre-img-primary-hover) !important;
}

.ngg-navigation .ellipsis,
.ngg-navigation span:not(.current) {
  background: var(--bre-img-row) !important;
  background-color: var(--bre-img-row) !important;
  color: var(--bre-img-text) !important;
  -webkit-text-fill-color: var(--bre-img-text) !important;
  border-color: rgba(176, 184, 197, 0.6) !important;
}

/* NextGEN shared gallery UI polish */
.ngg-galleryoverview,
.ngg-albumoverview,
.ngg-breadcrumbs,
.ngg-tagcloud,
.ngg-tags,
.ngg-search,
.ngg-download,
.ngg-pro-masonry,
.ngg-pro-thumbnail-grid {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
}

.ngg-galleryoverview a,
.ngg-albumoverview a,
.ngg-breadcrumbs a,
.ngg-tagcloud a,
.ngg-tags a,
.ngg-search a,
.ngg-download a,
.digital_downloads_list a,
.ngg_order_image_column a {
  color: var(--bre-img-primary) !important;
  -webkit-text-fill-color: var(--bre-img-primary) !important;
  text-decoration-color: rgba(32, 96, 152, 0.45) !important;
}

.ngg-galleryoverview a:hover,
.ngg-galleryoverview a:focus,
.ngg-albumoverview a:hover,
.ngg-albumoverview a:focus,
.ngg-breadcrumbs a:hover,
.ngg-breadcrumbs a:focus,
.ngg-tagcloud a:hover,
.ngg-tagcloud a:focus,
.ngg-tags a:hover,
.ngg-tags a:focus,
.ngg-search a:hover,
.ngg-search a:focus,
.ngg-download a:hover,
.ngg-download a:focus,
.digital_downloads_list a:hover,
.digital_downloads_list a:focus,
.ngg_order_image_column a:hover,
.ngg_order_image_column a:focus {
  color: var(--bre-img-primary-hover) !important;
  -webkit-text-fill-color: var(--bre-img-primary-hover) !important;
  text-decoration-color: var(--bre-img-primary-hover) !important;
}

.ngg-gallery-thumbnail img,
.ngg-galleryoverview .ngg-gallery-thumbnail img,
.ngg-gallery-singlepic-image img,
img.ngg-singlepic,
.ngg-albumoverview img,
.ngg-album-compactbox img,
.ngg-pro-thumbnail-grid img,
.ngg-pro-masonry img {
  border: 2px solid var(--bre-img-photo-border) !important;
  border-radius: var(--bre-img-photo-radius) !important;
  background: transparent !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.ngg-gallery-thumbnail a:hover img,
.ngg-gallery-thumbnail a:focus img,
.ngg-albumoverview a:hover img,
.ngg-albumoverview a:focus img,
.ngg-pro-thumbnail-grid a:hover img,
.ngg-pro-thumbnail-grid a:focus img,
.ngg-pro-masonry a:hover img,
.ngg-pro-masonry a:focus img {
  border-color: var(--bre-img-primary) !important;
}

.ngg-gallery-thumbnail-box,
.ngg-album-compact,
.ngg-albumoverview .ngg-album {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
}

.ngg-gallery-thumbnail-box .ngg-gallery-thumbnail-caption,
.ngg-gallery-thumbnail-box .ngg-caption,
.ngg-albumtitle,
.ngg-albumcontent,
.ngg-description,
.ngg-galleryoverview .ngg-caption,
.ngg-pro-caption,
.ngg-pro-masonry-caption {
  color: var(--bre-img-text) !important;
  font-family: var(--bre-font-body) !important;
}

.ngg-breadcrumbs,
.ngg-tags,
.ngg-tagcloud {
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ngg-breadcrumbs .current,
.ngg-tags .current,
.ngg-tagcloud .current {
  color: var(--bre-img-primary-hover) !important;
  -webkit-text-fill-color: var(--bre-img-primary-hover) !important;
  font-weight: 700 !important;
}

.ngg-error,
.nggpro-error,
.nggpl-error,
.ngg-notice,
.nggpro-notice,
.nggpl-notice,
.ngg-success,
.nggpro-success,
.nggpl-success {
  background-color: var(--bre-img-panel) !important;
  color: var(--bre-img-text) !important;
  border: 1px solid var(--bre-img-muted) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-family: var(--bre-font-body) !important;
}

.ngg-error,
.nggpro-error,
.nggpl-error {
  border-color: #b35a50 !important;
}

.ngg-success,
.nggpro-success,
.nggpl-success {
  border-color: var(--bre-img-primary) !important;
}

.nggpl-remove,
.nggpl-remove-item,
.nggpl-cart-remove,
.ngg_pro_delete,
.ngg_pro_remove {
  color: var(--bre-img-primary) !important;
  -webkit-text-fill-color: var(--bre-img-primary) !important;
}

.nggpl-remove:hover,
.nggpl-remove-item:hover,
.nggpl-cart-remove:hover,
.ngg_pro_delete:hover,
.ngg_pro_remove:hover {
  color: var(--bre-img-primary-hover) !important;
  -webkit-text-fill-color: var(--bre-img-primary-hover) !important;
}


/* BRE blog/archive featured images: show the full image file instead of a cropped card fill. */
.blog article .nv-post-thumbnail-wrap.img-wrap,
.archive article .nv-post-thumbnail-wrap.img-wrap {
  aspect-ratio: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  background: transparent !important;
}

.blog article .nv-post-thumbnail-wrap.img-wrap > a,
.archive article .nv-post-thumbnail-wrap.img-wrap > a {
  aspect-ratio: auto !important;
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

.blog article .nv-post-thumbnail-wrap.img-wrap > a > img.wp-post-image,
.archive article .nv-post-thumbnail-wrap.img-wrap > a > img.wp-post-image {
  aspect-ratio: auto !important;
  display: block !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  position: static !important;
  width: 100% !important;
}

/* Single post featured image */
body.single-post .nv-thumb-wrap > img.wp-post-image {
  border: 2px solid #7d9aca;
  border-radius: 10px;
  box-sizing: border-box;
}

/* Single blog-post title treatment */
body.single-post h1.entry-title {
  color: #071426 !important;
  font-family: var(--bre-font-heading) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

body.single-post h1.entry-title::after {
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  margin-top: 14px;
  background-color: var(--bre-img-primary);
}

/* Responsive featured image markup on single blog posts */
body.single-post .nv-thumb-wrap > picture.wp-post-image > img {
  border: 2px solid #7d9aca;
  border-radius: 10px;
  box-sizing: border-box;
  display: block;
}

/* Senior Experience eyebrow */
p.bre-process-grid > strong {
  color: var(--nv-secondary-accent);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Reusable site eyebrow style */
.bre-eyebrow,
.bre-eyebrow > strong {
  color: var(--nv-secondary-accent);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Match primary content buttons to the hero call-to-action corners */
.wp-block-button.is-style-primary .wp-block-button__link {
  border-radius: 6px;
}

/* Site-wide button corner standard */
body .wp-block-button__link,
body .button,
body button,
body input[type="submit"],
body input[type="button"],
body input[type="reset"] {
  border-radius: 6px;
}

/* Enforce site-wide button corner standard against theme-specific rules */
body .wp-block-button__link,
body .button,
body button,
body input[type="submit"],
body input[type="button"],
body input[type="reset"] {
  border-radius: 6px !important;
}

/* Keep Senior Experience icons at their editor-set size on the published page */
.bre-process-grid .bre-process-step .wp-block-image > img,
.bre-process-grid .bre-process-step .wp-block-image > picture {
  display: block;
  width: 100px !important;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.bre-process-grid .bre-process-step .wp-block-image > picture > img {
  width: 100% !important;
  height: auto;
}

/* Primary content call-to-action labels */
.wp-block-button.is-style-primary .wp-block-button__link {
  text-transform: uppercase;
}

/* Site-wide button label standard */
body .wp-block-button__link,
body .button,
body button,
body input[type="submit"],
body input[type="button"],
body input[type="reset"] {
  text-transform: uppercase !important;
}

/* Site-wide primary call-to-action hover standard */
body .wp-block-button__link:hover,
body .wp-block-button__link:focus-visible,
body .button:hover,
body .button:focus-visible,
body button:hover,
body button:focus-visible,
body input[type="submit"]:hover,
body input[type="submit"]:focus-visible,
body input[type="button"]:hover,
body input[type="button"]:focus-visible,
body input[type="reset"]:hover,
body input[type="reset"]:focus-visible,
body #npl_wrapper .nggpl-button:hover,
body #npl_wrapper .nggpl-button:focus-visible,
body #npl_wrapper button.nggpl-add-download-button:hover,
body #npl_wrapper button.nggpl-add-download-button:focus-visible {
  background-color: #19344F !important;
  color: #ffffff !important;
  border-color: #19344F !important;
}

/* Transparent call-to-actions on photo/dark backgrounds remain white on hover. */
body .bre-button-light-outline .wp-block-button__link:hover,
body .bre-button-light-outline .wp-block-button__link:focus-visible {
  background-color: #ffffff !important;
  color: #206098 !important;
  border-color: #ffffff !important;
}

/* Home testimonial — native Otter section with Adobe Shelby quote lettering */
.bre-testimonial {
  position: relative;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bre-testimonial::before,
.bre-testimonial::after {
  position: absolute;
  top: 50%;
  z-index: 1;
  color: rgba(249, 249, 249, 0.38);
  font-family: Georgia, serif;
  font-size: clamp(110px, 13vw, 220px);
  line-height: 1;
  pointer-events: none;
  transform: translateY(-50%);
}

.bre-testimonial::before { content: "“"; left: 8%; }
.bre-testimonial::after { content: "”"; right: 8%; }

.bre-testimonial .innerblocks-wrap {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(60%, 940px);
  min-height: 230px;
  margin: 0 auto;
  padding: 26px 0;
}

.bre-testimonial .wp-block-themeisle-blocks-advanced-column { width: 100%; }

.bre-testimonial__quote {
  margin: 0;
  color: #ffffff !important;
  font-family: shelby !important;
  font-size: clamp(34px, 3.2vw, 52px);
  font-style: normal;
  font-weight: 700;
  line-height: 1.15;
}

.bre-testimonial__attribution {
  margin: 14px 0 0;
  color: #ffffff !important;
  font-family: proxima-nova !important;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}

@media (max-width: 700px) {
  .bre-testimonial .innerblocks-wrap { width: 76%; min-height: 250px; }
  .bre-testimonial::before { left: 2%; }
  .bre-testimonial::after { right: 2%; }
}


/* Compact Home testimonial band */
.bre-testimonial .innerblocks-wrap {
  min-height: 170px;
  padding: 18px 0 14px;
}

.bre-testimonial .wp-block-themeisle-blocks-advanced-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

@media (max-width: 767px) {
  .bre-testimonial .innerblocks-wrap {
    min-height: 190px;
    padding: 20px 0 16px;
  }
}


/* Center testimonial quotation marks */
.bre-testimonial::before,
.bre-testimonial::after {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}


/* Visually center testimonial quotation marks */
.bre-testimonial::before,
.bre-testimonial::after {
  top: calc(50% + 40px);
}


/* Gutenberg preview for Home testimonial */
.editor-styles-wrapper .bre-testimonial {
  background-color: #17395e !important;
}

.editor-styles-wrapper .bre-testimonial::before,
.editor-styles-wrapper .bre-testimonial::after {
  color: rgba(255, 255, 255, 0.34);
}


/* Home: Beyond Senior Portraits service cards. */
.bre-additional-services {
  padding: 72px 24px 84px;
  background: #f8f8f7;
}

.bre-additional-services__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.bre-additional-services__eyebrow {
  margin: 0 0 11px;
}

.bre-additional-services__title {
  margin: 0;
  color: #22313d;
  font-weight: 400;
}

hr.bre-additional-services__accent {
  display: block !important;
  width: 48px !important;
  height: 3px;
  margin: 14px auto 34px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border: 0 !important;
  background-color: #206098 !important;
}

.bre-service-cards {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px;
  perspective: 1200px;
}

.bre-service-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  height: 100%;
  border-radius: 3px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(13, 34, 57, 0.16);
}

.bre-service-card__image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  padding: 20px;
  box-sizing: border-box;
  background: linear-gradient(135deg, #1b4e78, #0a2747);
}

.bre-service-card__image-label {
  margin: 0;
  font-family: proxima-nova, Montserrat, Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
}

.bre-service-card__image-label a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
}

.bre-service-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px 20px 24px;
}

.bre-service-card__body h3 {
  margin: 0 0 12px;
  color: #22313d;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
}

.bre-service-card__body > p:not(.bre-service-card__link) {
  min-height: 84px;
  margin: 0 0 17px;
  color: #31404d;
  font-family: proxima-nova, Montserrat, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

.bre-service-card__link {
  margin: auto 0 0;
  font-family: proxima-nova, Montserrat, Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.bre-service-card__link a {
  color: #206098;
  text-decoration: none;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .bre-service-card {
    transition: transform 220ms ease, box-shadow 220ms ease;
  }

  .bre-service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 34px rgba(13, 34, 57, 0.22);
  }
}

@media (max-width: 960px) {
  .bre-service-cards {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 580px) {
  .bre-additional-services {
    padding: 52px 18px 60px;
  }

  .bre-service-cards {
      grid-template-columns: 1fr !important;
  }
}

/* Why families choose Blue Ridge Expressions */
.bre-why-families {
  padding: 0;
  background: #edf1f5;
}

.bre-why-families__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  max-width: 1440px;
  margin: 0 auto;
}

.bre-why-families__image {
  display: flex !important;
  min-height: 590px;
  margin: 0;
  border: 2px solid #7d9aca;
  border-radius: 10px;
  overflow: hidden;
}

.bre-why-families__image .wp-block-cover__image-background {
  object-position: center;
}

.bre-why-families__content {
  padding: 64px clamp(28px, 6vw, 92px);
  background: #f8f8f7;
}

.bre-why-families__eyebrow {
  margin: 0 0 11px !important;
  color: var(--nv-secondary-accent);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.bre-why-families h2 {
  margin: 0 0 30px !important;
  color: #22313d;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 400;
  line-height: 1.12;
}

.bre-why-families__list {
  display: grid !important;
  gap: 22px;
}

.bre-why-family-item {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 15px;
  align-items: start;
}

.bre-why-icon {
  display: grid !important;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: #206098;
}

.bre-why-icon figure,
.bre-why-icon .wp-block-image,
.bre-why-icon img {
  display: block;
  width: 23px !important;
  height: 23px !important;
  margin: 0 !important;
}

.bre-why-icon img {
  filter: brightness(0) invert(1);
}

.bre-why-family-item h3 {
  margin: 0 0 4px !important;
  color: #22313d;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 20px;
  font-weight: 400;
}

.bre-why-family-item p {
  margin: 0 !important;
  color: #31404d;
  font-family: proxima-nova, Montserrat, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.45;
}

@media (max-width: 800px) {
  .bre-why-families__inner {
    grid-template-columns: 1fr !important;
  }

  .bre-why-families__image {
    min-height: 360px;
  }

  .bre-why-families__content {
    padding: 52px 26px 60px;
  }
}

/* Footer: native Neve builder rows and block-widget content. */
.footer--row.footer-top {
  border-top: 2px solid #ffffff;
  background: #061d35 !important;
}

/* The CTA owns the complete top footer row, not one inherited grid column. */
.footer--row.footer-top .container {
  width: 100% !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.footer--row.footer-top .hfg-grid-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  margin: 0 !important;
}

.footer--row.footer-top .hfg-slot,
.footer--row.footer-top .builder-item--custom_layout_5 {
  width: 100% !important;
}

.bre-footer-cta {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 30px 20px 26px !important;
  color: #ffffff;
  background-color: #153b63 !important;
  background-image: linear-gradient(rgba(10, 37, 67, 0.16), rgba(10, 37, 67, 0.30)), url("https://2026.blueridgeexpressions.com/wp-content/uploads/2026/07/bre-footer-cta-background-v1.png") !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.bre-footer-cta h2 {
  max-width: 860px;
  margin: 0 auto 12px !important;
  color: #ffffff;
  font-family: proxima-nova, Montserrat, Arial, sans-serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.025em;
}

.bre-footer-cta p {
  margin: 0 auto 16px !important;
  color: #ffffff;
  font-family: proxima-nova, Montserrat, Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}

.bre-footer-cta .wp-block-buttons {
  width: 100%;
  margin: 0 !important;
  justify-content: center !important;
}

.bre-footer-cta .wp-block-button__link {
  color: #206098 !important;
  background: #f8f8f7 !important;
  border-color: #f8f8f7 !important;
}

.footer--row.footer-main {
  position: relative;
  z-index: 1;
  margin-top: -8px;
  background: #061d35 !important;
}

/* Neve applies the light site background to each responsive row inner wrapper. */
.footer--row.footer-top .footer--row-inner,
.footer--row.footer-main .footer--row-inner,
.footer--row.footer-main .footer--row-inner > .container {
  background-color: #061d35 !important;
}

.footer--row.footer-main .footer--row-inner {
  padding: 64px 0 52px;
}

.footer--row.footer-main .widget,
.footer--row.footer-bottom .widget {
  margin: 0;
}

.footer--row.footer-main .widget-area > * + * {
  margin-top: 12px;
}

.bre-footer-logo {
  margin: 0 0 12px !important;
}

.bre-footer-logo img {
  display: block;
  width: 50% !important;
  height: auto;
}

.bre-footer-tagline,
.bre-footer-label,
.bre-footer-serving,
.bre-footer-contact-row,
.bre-footer-contact-row p,
.bre-footer-contact-row a {
  color: #ffffff !important;
  font-family: proxima-nova, Montserrat, Arial, sans-serif;
}

.bre-footer-tagline,
.bre-footer-label {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.bre-footer-serving {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
}

.bre-footer-contact-row {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 0 7px !important;
}

.bre-footer-contact-row figure,
.bre-footer-contact-row .wp-block-image,
.bre-footer-contact-row img {
  display: block;
  flex: 0 0 14px;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  filter: brightness(0) invert(1);
}

.bre-footer-contact-row p {
  margin: 0 !important;
  font-size: 13px;
  line-height: 1.35;
}

.bre-footer-contact-button {
  margin: 16px 0 0 22px !important;
}

.bre-footer-contact-button .wp-block-button__link {
  padding: 11px 15px;
  color: #ffffff !important;
  background: transparent !important;
  border: 1px solid #ffffff !important;
  font-size: 12px;
}

.bre-footer-contact-button .wp-block-button__link:hover,
.bre-footer-contact-button .wp-block-button__link:focus {
  color: #206098 !important;
  background: #ffffff !important;
}

.footer--row.footer-bottom {
  background: #041629 !important;
}

.footer--row.footer-bottom .footer--row-inner {
  padding: 21px 0;
}

@media (min-width: 960px) {
  .footer--row.footer-bottom .footer--row-inner .row {
    grid-template-columns: 2fr 1fr !important;
  }
}

.bre-footer-notice {
  max-width: 760px;
  margin: 0 !important;
  color: #b0b8c5;
  font-family: proxima-nova, Montserrat, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.35;
}

.builder-item--social_icons_2 .nv-social-icons-list {
  gap: 10px;
}

.builder-item--social_icons_2 .nv-social-icons-list a {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  background: transparent !important;
}

.builder-item--social_icons_2 .nv-social-icons-list img {
  width: 15px;
  height: 15px;
  filter: brightness(0) invert(1);
}

@media (max-width: 960px) {
  .footer--row.footer-main .footer--row-inner {
    padding: 46px 0 38px;
  }

  .footer--row.footer-main .row,
  .footer--row.footer-bottom .row {
    gap: 30px;
  }
}

@media (max-width: 600px) {
  .bre-footer-cta {
    padding: 27px 20px 24px !important;
  }

  .bre-footer-cta h2 {
    font-size: 25px;
    line-height: 1.32;
    margin-bottom: 10px !important;
  }

  .bre-footer-cta p {
    margin-bottom: 14px !important;
  }

  .bre-footer-logo img {
    width: 180px !important;
  }

  .footer--row.footer-bottom .footer--row-inner {
    padding: 24px 0;
  }
}

/* Footer proportion and hierarchy refinement. */
@media (min-width: 961px) {
  .footer--row.footer-main .footer--row-inner {
    padding: 19px 0 15px;
  }
}

.bre-footer-tagline {
  color: #edf3f8 !important;
}

.bre-footer-serving,
.bre-footer-contact-row,
.bre-footer-contact-row p,
.bre-footer-contact-row a {
  color: #b7c8d7 !important;
}

.bre-footer-label {
  color: #f5f8fb !important;
}

/* Gutenberg places each Group block's inner blocks inside this wrapper. */
.bre-why-families__inner,
.bre-why-families__list,
.bre-why-family-item {
  display: block !important;
  width: 100%;
}

.bre-why-families__inner > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  width: 100%;
}

.bre-why-families__content > .wp-block-group__inner-container,
.bre-why-families__list > .wp-block-group__inner-container {
  width: 100%;
}

.bre-why-families__list > .wp-block-group__inner-container {
  display: grid !important;
  gap: 22px;
}

.bre-why-family-item > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 15px;
  width: 100%;
  align-items: start;
}

.bre-why-icon > .wp-block-group__inner-container {
  display: grid !important;
  width: 23px;
  height: 23px;
  place-items: center;
}

@media (max-width: 800px) {
  .bre-why-families__inner > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }

  .bre-why-families__content {
    padding: 46px 26px 54px;
  }

  .bre-why-families__content > .wp-block-group__inner-container,
  .bre-why-families__list > .wp-block-group__inner-container,
  .bre-why-family-item > .wp-block-group__inner-container {
    width: 100%;
  }

  .bre-why-family-item > .wp-block-group__inner-container {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 14px;
  }
}

/* BRE standard button system: Core Buttons and Otter Button Groups.
   Default: blue filled CTA. Core Outline style: blue outline for light sections.
   Use .bre-button-light-outline only for outline buttons on photo/dark sections. */
body .wp-block-button:not(.is-style-outline):not(.is-style-outline--1):not(.bre-button-light-outline):not(.bre-button-dark-outline) .wp-block-button__link,
body .wp-block-themeisle-blocks-button:not(.bre-button-light-outline):not(.bre-button-dark-outline) .wp-block-button__link {
  background-color: #206098 !important;
  border: 1px solid #206098 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

body .wp-block-button:not(.is-style-outline):not(.is-style-outline--1):not(.bre-button-light-outline):not(.bre-button-dark-outline) .wp-block-button__link:hover,
body .wp-block-button:not(.is-style-outline):not(.is-style-outline--1):not(.bre-button-light-outline):not(.bre-button-dark-outline) .wp-block-button__link:focus-visible,
body .wp-block-themeisle-blocks-button:not(.bre-button-light-outline):not(.bre-button-dark-outline) .wp-block-button__link:hover,
body .wp-block-themeisle-blocks-button:not(.bre-button-light-outline):not(.bre-button-dark-outline) .wp-block-button__link:focus-visible {
  background-color: #19344F !important;
  border-color: #19344F !important;
  color: #ffffff !important;
}

body .wp-block-button.is-style-outline .wp-block-button__link,
body .wp-block-button.is-style-outline--1 .wp-block-button__link,
body .wp-block-button .wp-block-button__link.is-style-outline,
body .wp-block-button .wp-block-button__link.is-style-outline--1 {
  background-color: transparent !important;
  border: 1px solid #206098 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  color: #206098 !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

body .wp-block-button.is-style-outline .wp-block-button__link:hover,
body .wp-block-button.is-style-outline .wp-block-button__link:focus-visible,
body .wp-block-button.is-style-outline--1 .wp-block-button__link:hover,
body .wp-block-button.is-style-outline--1 .wp-block-button__link:focus-visible,
body .wp-block-button .wp-block-button__link.is-style-outline:hover,
body .wp-block-button .wp-block-button__link.is-style-outline:focus-visible,
body .wp-block-button .wp-block-button__link.is-style-outline--1:hover,
body .wp-block-button .wp-block-button__link.is-style-outline--1:focus-visible {
  background-color: #206098 !important;
  border-color: #206098 !important;
  color: #ffffff !important;
}

/* Use the Senior Banners hero jump CTA only where it shortens a narrow-screen path. */
body .bre-mobile-only {
  display: none !important;
}

@media (max-width: 767px) {
  body .bre-mobile-only {
    display: flex !important;
  }
}

/* Keep externally sourced SVG icons visible when they are used on BRE dark panels. */
body .bre-icon-on-dark img {
  filter: brightness(0) invert(1);
}
/* Contact-page light-blue utility icons on deep-navy static-page side panels. */
body .bre-contact-light-icon {
  position: relative;
  display: block;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
}

body .bre-contact-light-icon img {
  display: block;
  width: 18px !important;
  height: 18px !important;
  opacity: 0;
}

body .bre-contact-light-icon::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  background-color: #7cc7ee;
  -webkit-mask: url("https://2026.blueridgeexpressions.com/wp-content/uploads/2026/07/footer-contact-phone.svg") center / contain no-repeat;
  mask: url("https://2026.blueridgeexpressions.com/wp-content/uploads/2026/07/footer-contact-phone.svg") center / contain no-repeat;
}
/* Home-page eyebrow is the required site-wide eyebrow treatment. */
body .bre-eyebrow,
body .bre-eyebrow > strong {
  color: var(--nv-secondary-accent) !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}
/* Cap & Gown adopts the shared BRE static-page system. */
body.page-id-1236 .bre-capgown-hero {
  background-color: #eef4f8 !important;
  color: #22313d !important;
}
body.page-id-1236 .bre-capgown-hero h1 { color: #22313d !important; }
body.page-id-1236 .bre-capgown-hero p[style*="letter-spacing"],
body.page-id-1236 p[style*="letter-spacing"] {
  color: var(--nv-secondary-accent) !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
body.page-id-1236 .bre-capgown-hero p:not([style*="letter-spacing"]) {
  color: #22313d !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}
body.page-id-1236 .bre-section-padding {
  width: min(100%, 1804px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
body.page-id-1236 .bre-section-padding > .wp-block-group__inner-container {
  max-width: none !important;
}
/* BRE_PORTRAIT_GRID_WRAPPERS_SQUARE: image-grid wrappers stay square sitewide; nested images carry the border and rounded corners. */
body .bre-portrait-image-grid {
  border: 0 !important;
  border-radius: 0 !important;
}
/* Cap & Gown closing invitation repeats the light-blue hero surface. */
body.page-id-1236 .bre-contact-closing,
body.page-id-1236 .bre-contact-closing > .wp-block-group__inner-container {
  background-color: #eef4f8 !important;
}
/* Keep the Home-page eyebrow treatment authoritative inside page content. */
body .entry-content p.bre-eyebrow,
body .entry-content p.bre-eyebrow > strong {
  color: var(--nv-secondary-accent) !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}
/* The hero's supporting-copy rule must not override the shared eyebrow. */
body.page-id-1236 .bre-capgown-hero p.bre-eyebrow {
  color: var(--nv-secondary-accent) !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}
/* Reusable static-page snapshot: concise service facts beneath the hero. */
body .bre-fact-strip {
  box-shadow: 0 8px 20px rgba(34, 49, 61, 0.06);
}

body .bre-fact-strip__columns {
  gap: 0;
}

body .bre-fact-strip__columns > .wp-block-column {
  padding: 0 28px;
}

body .bre-fact-strip__columns > .wp-block-column + .wp-block-column {
  border-left: 1px solid #d7e3ed;
}

body .bre-fact-strip__value {
  margin: 0 0 5px !important;
  color: #22313d;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(23px, 2vw, 28px);
  font-weight: 400;
  line-height: 1.2;
}

body .bre-fact-strip__label {
  margin: 0 !important;
  color: #31404d;
  font-size: 14px;
  line-height: 1.45;
}

@media (max-width: 767px) {
  body .bre-fact-strip__columns {
    gap: 18px;
  }

  body .bre-fact-strip__columns > .wp-block-column {
    padding: 0 8px;
  }

  body .bre-fact-strip__columns > .wp-block-column + .wp-block-column {
    padding-top: 18px;
    border-top: 1px solid #d7e3ed;
    border-left: 0;
  }
}


/* BRE_CAPGOWN_FEATURED_IMAGE_SECTION_SPACING: keep the standalone featured image clear of the fact strip above it. */
body.page-id-1236 .bre-featured-image {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}


/* BRE_CAPGOWN_FEATURED_IMAGE_BORDER: the standalone Cap & Gown photo carries the shared image treatment. */
body.page-id-1236 .bre-featured-image .wp-block-image img {
  border: 2px solid #7d9aca !important;
  border-radius: 10px !important;
  box-sizing: border-box;
}

/* BRE hero divider: one short centered accent line beneath hero headings. */
body:not(.home) .nv-single-page-wrap h1.bre-hero-heading::after,
body:not(.home) .nv-page-title h1.bre-hero-heading::after {
  margin: 14px auto 0;
}
