/**
 * ENE Testimonials — native Bricks rebuild of Real Testimonials Pro views
 * Replicates: shortcode 315 (landing slider, theme-one) + 3695 (testimonials page, masonry theme-eight)
 * Values extracted 1:1 from Pro dynamic CSS + the previous Bricks element custom CSS.
 */

/* ---------- Star icon font (copied from Pro fontello) ---------- */
@font-face {
	font-family: 'sptpro-fontello';
	src: url('font/fontello.woff2') format('woff2'),
		url('font/fontello.woff') format('woff'),
		url('font/fontello.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}
[class^="sptpro-icon-"]:before,
[class*=" sptpro-icon-"]:before {
	font-family: "sptpro-fontello";
	font-style: normal;
	font-weight: normal;
	speak: never;
	display: inline-block;
	text-decoration: inherit;
	width: 1em;
	text-align: center;
	font-variant: normal;
	text-transform: none;
	line-height: 1em;
	margin: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.sptpro-icon-star_squire:before { content: '\e82c'; }

/* ---------- Shared: rating stars ---------- */
#testimonialsWidget .tpro-client-rating,
#testimonialsPage .tpro-client-rating,
.ene-tst-modal-dialog .tpro-client-rating {
	margin: 0 0 6px 0;
	text-align: center;
	color: #6e7048;
	line-height: 1;
}
#testimonialsWidget .tpro-client-rating .sptpro-empty-rating,
#testimonialsPage .tpro-client-rating .sptpro-empty-rating,
.ene-tst-modal-dialog .tpro-client-rating .sptpro-empty-rating {
	color: #bbc2c7;
}
#testimonialsWidget .tpro-client-rating i,
#testimonialsPage .tpro-client-rating i,
.ene-tst-modal-dialog .tpro-client-rating i {
	font-size: 19px;
	margin-right: 2px;
	font-style: normal;
}

/* ============================================================
   LANDING SLIDER (#testimonialsWidget) — theme-one replica
   ============================================================ */
#testimonialsWidget.brxe-slider-nested {
	margin: 0 50px;
	padding: 0 60px 60px 60px;
}
@media (max-width: 600px) {
	#testimonialsWidget.brxe-slider-nested { margin: 0 35px; }
}

/* Card */
#testimonialsWidget .sp-testimonial-pro-item {
	text-align: center;
}
#testimonialsWidget .sp-testimonial-pro {
	border: 0;
	border-radius: 0;
	padding: 0 30px;
	background-color: transparent;
}

/* Title: italic serif with Chronicle Display curly quotes (previous custom CSS, kept 1:1) */
#testimonialsWidget .sp-tpro-testimonial-title {
	color: #333333;
	font-size: 2.5rem;
	line-height: 1.12;
	letter-spacing: 0;
	font-style: italic;
	text-transform: none;
	text-align: center;
	padding: 0;
	margin: 0 0 18px 0;
}
#testimonialsWidget .sp-tpro-testimonial-title.spt-icon-quote::before,
#testimonialsWidget .sp-tpro-testimonial-title.spt-icon-quote::after {
	font-family: "Chronicle Display", Sans-serif;
	font-size: 2.5rem;
	font-weight: 600;
	color: #191717;
	font-style: normal;
	display: inline-block;
}
#testimonialsWidget .sp-tpro-testimonial-title.spt-icon-quote::before {
	content: '\201d';
	margin: 0 0 -15px 0;
	vertical-align: text-bottom;
}
#testimonialsWidget .sp-tpro-testimonial-title.spt-icon-quote::after {
	content: '\201c';
	margin: 0 0 0 7px;
	vertical-align: text-top;
}

/* Content */
#testimonialsWidget .tpro-client-testimonial {
	color: #333333;
	font-size: 16px;
	line-height: 26px;
	text-transform: none;
	letter-spacing: 0;
	text-align: center;
	margin: 0 0 20px 0;
}
#testimonialsWidget .tpro-client-testimonial p {
	font-size: 16px;
	color: inherit;
	line-height: inherit;
	margin: 0;
}
#testimonialsWidget a.tpro-read-more,
#testimonialsWidget a.tpro-read-more:visited {
	color: #6e7048;
	text-decoration: none;
}
#testimonialsWidget a.tpro-read-more:hover { color: #9b9e68; }

/* Name / date */
#testimonialsWidget .tpro-client-name {
	color: #333333;
	font-size: 16px;
	line-height: 24px;
	text-transform: uppercase;
	letter-spacing: 0;
	text-align: center;
	margin: 0 0 8px 0;
}
#testimonialsWidget .tpro-testimonial-date {
	color: #444444;
	font-size: 15px;
	line-height: 20px;
	text-align: center;
	margin: 0 0 6px 0;
}

/* Natural height (Pro slider is content-height; Bricks defaults the track to 50vh) */
#testimonialsWidget .splide__track {
	height: auto !important;
}

/* Arrows (Splide) — dashed circles, 42px, top 25%, hover scale 1.2 (previous custom CSS) */
#testimonialsWidget .splide__arrow {
	background: transparent;
	color: #191717;
	border: 1px dashed #191717;
	border-radius: 50%;
	font-size: 20px;
	width: 2.625rem;
	height: 2.625rem;
	opacity: 1;
	position: absolute;
	z-index: 2;
	/* center on the testimonial block: element = track + 60px bottom padding (dots area) */
	top: calc(50% - 30px);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
}
#testimonialsWidget .splide__arrow--prev { left: -4px; }
#testimonialsWidget .splide__arrow--next { right: -4px; }
#testimonialsWidget .splide__arrow:hover {
	color: #191717;
	-webkit-transform: translateY(-50%) scale(1.2);
	transform: translateY(-50%) scale(1.2);
}
#testimonialsWidget .splide__arrow svg { fill: currentColor; }
#testimonialsWidget .splide__arrow i { line-height: 1; }

/* Pagination dots (Splide) — replica of Swiper dots: 8px, olive */
/* Pagination dots (Splide) — replica of Swiper dots: 8px, olive.
   Splide injects ul.splide__pagination client-side with no base styles, so the full
   layout reset (flex + centering) must live here. Positioned inside the 60px bottom
   padding area, 8px from the element bottom. */
#testimonialsWidget .splide__pagination {
	position: absolute;
	bottom: 8px;
	left: 0;
	right: 0;
	transform: none !important;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
#testimonialsWidget .splide__pagination li {
	list-style: none;
	margin: 0;
	line-height: 0;
	display: inline-flex;
}
#testimonialsWidget .splide__pagination__page {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #6e7048;
	opacity: 1;
	margin: 0 4px;
	border: 0;
	transform: none;
}
#testimonialsWidget .splide__pagination__page.is-active {
	background: #9b9e68;
	transform: none;
}

/* Neutralize leftover unscoped rules from Pro's dynamic CSS (printed until the plugin
   is deactivated): it adds padding-right to .sp-testimonial-pro-item globally, which
   would double the masonry gutter / shift the slides. */
#testimonialsWidget .sp-testimonial-pro-item,
#testimonialsPage .sp-testimonial-pro-item {
	padding-right: 0;
}

/* ============================================================
   TESTIMONIALS PAGE (#testimonialsPage) — masonry theme-eight replica
   ============================================================ */
#testimonialsPage {
	width: 100%;
}
#testimonialsPage .sp-testimonial-pro-item {
	margin-bottom: 100px;
}
#testimonialsPage .sp-testimonial-pro {
	border-radius: 5px;
	overflow: hidden;
}
#testimonialsPage .tpro-testimonial-content-area {
	background: #ffffff;
	padding: 40px 30px;
	position: relative;
}
#testimonialsPage .tpro-testimonial-content-area:after,
#testimonialsPage .tpro-testimonial-content-area:before {
	top: 100%;
	right: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
#testimonialsPage .tpro-testimonial-content-area:after {
	border-color: transparent;
	border-top-color: #ffffff;
	border-width: 17px 13px 0 13px;
	margin-right: -13px;
}
#testimonialsPage .tpro-testimonial-meta-area {
	background: #ffffff;
	padding: 30px;
}

/* Title */
#testimonialsPage .sp-tpro-testimonial-title {
	color: #191717;
	line-height: 40px;
	text-transform: none;
	letter-spacing: 0;
	text-align: center;
	padding: 0;
	margin: 0 0 30px 0;
}

/* Content */
#testimonialsPage .tpro-client-testimonial {
	color: #191717;
	text-transform: none;
	text-align: justify;
	margin: 0;
}
#testimonialsPage .tpro-client-testimonial p {
	color: inherit;
	margin: 0 0 1em 0;
}
#testimonialsPage .tpro-client-testimonial p:last-child { margin-bottom: 0; }

/* Meta */
#testimonialsPage .tpro-client-name {
	color: #191717;
	font-size: 16px;
	line-height: 24px;
	text-transform: uppercase;
	letter-spacing: 0;
	text-align: center;
	margin: 0 0 10px 0;
}
#testimonialsPage .tpro-testimonial-date {
	color: #191717;
	font-size: 15px;
	line-height: 20px;
	text-align: center;
	margin: 0;
}

/* Load more area */
#testimonialsPageLoadWrap {
	text-align: center;
	margin: 20px 0;
	width: 100%;
}
#testimonialsPageLoadMore {
	color: #191717;
	background: transparent;
	border: 0;
	cursor: pointer;
	display: inline-block;
	position: relative;
	font-family: "Lato", Sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.075rem;
	text-transform: uppercase;
	padding: 0 0 2px 0;
}
/* Underline hover, matching the site pattern used by .link-underline and the form submit */
#testimonialsPageLoadMore::before,
#testimonialsPageLoadMore::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
}
#testimonialsPageLoadMore::before {
	background-color: #191717;
	opacity: 0.35;
}
#testimonialsPageLoadMore::after {
	background-color: currentColor;
	transform: scaleX(0);
	transform-origin: bottom left;
	transition: transform 0.3s linear;
}
#testimonialsPageLoadMore:hover::after {
	transform: scaleX(1);
}
#testimonialsPageLoadMore:hover {
	color: #191717;
	background: transparent;
}
#testimonialsPageEnd {
	display: none;
	text-align: center;
	margin: 10px 0;
}
#testimonialsPageEnd.ene-visible { display: block; }

/* ============================================================
   READ MORE MODAL — remodal visual replica
   ============================================================ */
.ene-tst-modal { display: none; }
.ene-tst-modal-overlay {
	position: fixed;
	z-index: 9999;
	top: 0; right: 0; bottom: 0; left: 0;
	background: rgba(43, 46, 56, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	overflow-y: auto;
	opacity: 0;
	transition: opacity 0.2s ease;
}
.ene-tst-modal-overlay.ene-open { opacity: 1; }
.ene-tst-modal-dialog {
	position: relative;
	width: 100%;
	max-width: 700px;
	margin: auto;
	padding: 35px;
	background: #ffffff;
	border-radius: 0;
	text-align: center;
	transform: scale(0.95);
	transition: transform 0.2s ease;
}
.ene-tst-modal-overlay.ene-open .ene-tst-modal-dialog { transform: scale(1); }
.ene-tst-modal-close {
	position: absolute;
	top: 0;
	right: 0;
	width: 35px;
	height: 35px;
	border: 0;
	background: transparent;
	color: #95979c;
	font-size: 25px;
	line-height: 35px;
	cursor: pointer;
	padding: 0;
}
.ene-tst-modal-close:hover { color: #2b2e38; }

/* Modal card content (mirrors Pro modal typography for shortcode 315) */
.ene-tst-modal-dialog .sp-tpro-testimonial-title {
	color: #444444;
	text-align: center;
	font-size: 20px;
	line-height: 30px;
	text-transform: none;
	letter-spacing: 0;
	padding: 0;
	margin: 0 0 18px 0;
}
.ene-tst-modal-dialog .tpro-client-testimonial {
	color: #444444;
	text-align: center;
	font-size: 16px;
	line-height: 26px;
	margin: 0 0 20px 0;
}
.ene-tst-modal-dialog .tpro-client-testimonial p { margin: 0 0 1em 0; }
.ene-tst-modal-dialog .tpro-client-testimonial p:last-child { margin-bottom: 0; }
.ene-tst-modal-dialog .tpro-client-name {
	color: #444444;
	text-align: center;
	font-size: 16px;
	line-height: 24px;
	margin: 0 0 8px 0;
}
.ene-tst-modal-dialog .tpro-testimonial-date {
	color: #444444;
	text-align: center;
	font-size: 15px;
	line-height: 20px;
	margin: 0 0 6px 0;
}
html.ene-tst-modal-lock,
html.ene-tst-modal-lock body {
	overflow: hidden;
}

/* ============================================================
   MOVED FROM bricks-child/custom.css (2026-08-05)
   Site design overrides for the testimonials page and the
   submission form. Consolidated here so that all testimonial
   styling lives in one file alongside the rebuild.
   ============================================================ */

/*** TESTIMONIALS PAGE ***/
#testimonialsPage .sp-testimonial-pro .tpro-testimonial-content-area:after,
#testimonialsPage .sp-testimonial-pro .tpro-testimonial-content-area:before {
    display: none!important;
}
#testimonialsPage .sp-tpro-testimonial-title {
	font-family: "Calton Elegance Script", Sans-serif;
	font-size: 3rem!important;
	letter-spacing: .13125rem!important;
}
#testimonialsPage .tpro-testimonial-text p,
#testimonialsPage .tpro-testimonial-date {
	font-size: .75rem!important;
    font-weight: 700!important;
    letter-spacing: .1125rem!important;
    line-height: 1.5!important;
}
/* The dotted separator is drawn on ::before rather than as the element's own
   background-image. Bricks' lazy-load rule (.brxe-div.bricks-lazy-hidden) sets
   background-image:none!important from inside a cascade layer, and layered
   !important outranks unlayered !important regardless of specificity — so it
   cannot be overridden on the element itself. The pseudo-element is unaffected. */
#testimonialsPage .tpro-testimonial-meta-area {
	position: relative;
}
#testimonialsPage .tpro-testimonial-meta-area::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background-image: linear-gradient(90deg, #d0c9c3 10%, #0000 0);
	background-position: top;
	background-repeat: repeat-x;
	background-size: 10px 2px;
}
#testimonialsPage .tpro-client-name {
	font-family: "Lato", Sans-serif!important;
	font-size: .75rem!important;
    font-weight: 700!important;
    letter-spacing: .1125rem!important;
    line-height: 1.5!important;
}

@media screen and (max-width: 576px) {
  #testimonialsPage .sp-tpro-testimonial-title {
    font-size: 2rem!important;
  }
}

/** Testimonial Form **/
#testimonialForm .sp-testimonial-form-container {
	flex-basis: 100%;
}
#testimonialForm .sp-testimonial-label-section {
	display: none;
}
#testimonialForm #testimonial_form {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 12px;
}
#testimonialForm .sp-tpro-form-field {
	width: 49%;
}
#testimonialForm .sp-tpro-form-title,
#testimonialForm .sp-tpro-form-content {
	width: 100%;
}
#testimonialForm .testimonial-title,
#testimonialForm .testimonial-content {
	display: flex;
	flex-direction: column-reverse;
}
#testimonialForm .sp-testimonial-input-field input,
#testimonialForm .sp-tpro-form-field textarea {
	border-bottom: 1px solid #191717!important;
	padding: .5rem 0rem!important;
}
#testimonialForm .sp-tpro-form-field textarea {
    height: 50px;
	color: #112337!important;
	margin-bottom: 0px!important;
}
#testimonialForm .sp-maximum_length {
    position: relative!important;
    right: 0!important;
    top: 0!important;
	font-size: 13px!important;
	font-style: normal!important;
	color: #585e6a!important;
}
#testimonialForm .tpro-star-rating-field .sp-testimonial-input-field {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
#testimonialForm .sp-tpro-form-field .tpro_client_before.tpro-before-rating {
    position: relative;
    bottom: 0;
    left: 0;
}
#testimonialForm .sp-tpro-form-field .tpro_client_before {
    color: #7a7a7a;
    font-size: 14px;
    font-style: normal;
}
#testimonialForm .sp-tpro-form-field:last-of-type {
	width: auto;
	margin-left: auto;
}
#testimonialForm .sp-tpro-form-submit-button .submit-button-wrapper {
	padding: 0 0 10px 0;
}
#testimonialForm .sp-testimonial-input-field input#submit {
    border-bottom: none!important;
    font-family: Lato, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.5;
    letter-spacing: 0.075rem;
    color: rgb(25, 23, 23);
    padding: 0!important;
}

/* Submit underline — the shared .link-underline pattern, previously part of the
   grouped rules in custom.css. */
#testimonialForm .sp-tpro-form-submit-button .submit-button-wrapper::before {
  bottom: 0px;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  background-color: #191717;
  opacity: .35;
}
#testimonialForm .sp-tpro-form-submit-button .submit-button-wrapper::after {
  content: "";
  height: 1px;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: bottom left;
  transition: transform .3s linear;
}
#testimonialForm .sp-tpro-form-submit-button .submit-button-wrapper:hover::after {
  transform: scaleX(1);
}