
/* ==========================================================
   Testimonial Component — Splide migration
   ========================================================== */

/* Splide layout and equal-height behavior */

.testimonial-component .splide__list {
	align-items: stretch;
}

.testimonial-component .splide__slide {
	height: auto;
	margin: 0;
}

.testimonial-component .splide__slide > a {
	display: block;
	height: 100%;
}

.testimonial-component .splide__slide blockquote {
	flex: 1 0 0;
}

.testimonial-component figure .content-wrap {
	display: flex;
	flex-direction: column;
	height: 100%;
}

/*
 * Progressive fallback. The XSL deliberately omits the root .splide class
 * until testimonial-component-splide.js is ready to mount the carousel.
 * Without JavaScript, testimonials remain readable in document order.
 */
.testimonial-component.testimonial-splide:not(.splide) .splide__track {
	overflow: visible;
}

.testimonial-component.testimonial-splide:not(.splide) .splide__list {
	display: block;
}

.testimonial-component.testimonial-splide:not(.splide) .splide__slide {
	width: 100%;
}

.testimonial-component.testimonial-splide:not(.splide) .splide__slide + .splide__slide {
	margin-top: 30px;
}

/* Pagination: retain Slick's 24px target with a 6px visual dot.
 */

.testimonial-component.testimonial-has-pagination {
	margin-bottom: 30px;
}




.testimonial-component .splide__pagination {
	align-items: center;
	bottom: -25px;
	display: flex;
	justify-content: center;
	left: 0;
	list-style: none;
	padding: 0;
	position: absolute;
	right: 0;
	margin-left: 10px;
	z-index: 1;
}

.testimonial-component .splide__pagination li {
	line-height: 1;
	margin: 0;
}

.testimonial-component .splide__pagination__page {
	background-color: rgba(0, 0, 0, 0.25);
	background-clip: content-box;
	border: 0;
	border-radius: 50%;
	box-sizing: border-box;
	cursor: pointer;
	display: block;
	height: 24px;
	margin: 0;
	opacity: 1;
	padding: 9px;
	transform: none;
	width: 24px;
}

.testimonial-component .splide__pagination__page.is-active {
	background-color: rgba(0, 0, 0, 0.75);
	transform: none;
}

.testimonial-component .splide__pagination__page:focus-visible {
	outline: 2px solid #23527c;
	outline-offset: 1px;
}

/* Arrows: recreate the former small Slick-style chevrons. */

.testimonial-component.testimonial-splide .splide__arrow {
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
	display: flex;
	height: 24px !important;
	justify-content: center;
	opacity: 1;
	padding: 0 !important;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 24px !important;
	z-index: 2;
}

/*
 * The quote boxes already have 15px–20px side margins. Keeping the 24px
 * buttons on the track edges places the visual chevrons just outside the box,
 * matching the former Slick position without reducing the clickable target.
 */
.testimonial-component.testimonial-splide .splide__arrow--prev {
	left: 0 !important;
}

.testimonial-component.testimonial-splide .splide__arrow--next {
	right: 0 !important;
}

/* Hide Splide's large filled SVG and draw a thin CSS chevron instead. */
.testimonial-component.testimonial-splide .splide__arrow svg {
	display: none !important;
}

.testimonial-component.testimonial-splide .splide__arrow::before {
	border-color: rgba(0, 0, 0, 0.35);
	border-style: solid;
	border-width: 0 2px 2px 0;
	content: "";
	display: block;
	height: 10px;
	width: 10px;
}

.testimonial-component.testimonial-splide .splide__arrow--prev::before {
	transform: rotate(135deg);
}

.testimonial-component.testimonial-splide .splide__arrow--next::before {
	transform: rotate(-45deg);
}

.testimonial-component.testimonial-splide .splide__arrow:hover:not(:disabled)::before {
	border-color: rgba(0, 0, 0, 0.55);
}

.testimonial-component.testimonial-splide .splide__arrow:focus-visible {
	outline: 2px solid #23527c;
	outline-offset: 1px;
}

/* All styles */

.testimonial-component a:hover {
	text-decoration: none;
	outline: 0;
}

.testimonial-component.style1 a .t-cite,
.testimonial-component.style2 a .t-cite,
.testimonial-component.style3 a .t-cite,
.testimonial-component.style4 a .t-cite {
	color: #333;
}

.testimonial-component.style1 a:hover .t-cite,
.testimonial-component.style2 a:hover .t-cite,
.testimonial-component.style3 a:hover .t-cite,
.testimonial-component.style4 a:hover .t-cite {
	color: #23527c;
}

.testimonial-component a:hover figcaption .t-cite strong {
	text-decoration: underline;
}

/* Style 2 */

.testimonial-component.style2 blockquote {
	border-left: 0px;
	margin-left: 20px;
	margin-right: 20px;
	background: rgba(255, 196, 35, 0.39);
	border-radius: 5px;
	padding: 20px;
	padding-bottom: 40px;
	font-size: 16px;
	color: #000;
	position: relative;
	display: flex;
}

.testimonial-component.style2 blockquote .desc span::before {
	font-family: Arial;
	content: "\201C";
	color: #fff;
	font-size: 3.5em;
	position: absolute;
	left: 10px;
	top: -10px;
}

.testimonial-component.style2 blockquote .desc span::after {
	right: 8px;
	font-family: Arial;
	content: "\201D";
	color: #fff;
	font-size: 3.5em;
	position: absolute;
	bottom: -41px;
}

.testimonial-component.style2 blockquote .desc {
	padding-top: 10px;
	padding-left: 10px;
	align-self: center;
}

/* Figcaption Flex Styles */

.testimonial-component.style2 figcaption {
	display: flex;
	flex-direction: column;
	text-align: center;
	margin-top: -50px;
	z-index: 1;
}

.testimonial-component.style2 figcaption.noimg {
	margin-top: 0px;
}

.testimonial-component.style2 .t-img {
	width: 100px;
	height: 100px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.testimonial-component.style2 .t-img img {
	border-radius: 50%;
	border: 10px solid white;
	object-fit: cover;
	height: auto;
}

/* Style 2 Blue Color */

.testimonial-component.style2.blue blockquote {
	background: #c3e7ff;
}

/* Style 2 Gray Color */

.testimonial-component.style2.gray blockquote {
	background: #f1f1f1;
}

.testimonial-component.style2.gray blockquote .desc span::before,
.testimonial-component.style2.gray blockquote .desc span::after {
	color: #5e5e5e;
}

/* Style 2 Arrows */

/* Move the arrows upward so they align with the quote box, not the citation. */
.testimonial-component.style2 .splide__arrow {
	top: calc(50% - 70px) !important;
}

/* Style 1 */

.testimonial-component.style1 blockquote {
	border-left: 0px;
	margin-left: 15px;
	margin-right: 15px;
	position: relative;
	font-size: 16px;
	padding-top: 0px;
	display: flex;
}

.testimonial-component.style1 figcaption {
	margin-left: 25px;
	padding-right: 35px;
	display: flex;
	flex-direction: row;
	z-index: 1;
	align-items: center;
}

.testimonial-component.style1 blockquote::before {
	border-color: #feb600 transparent;
	left: 30px;
	content: "";
	bottom: -14px;
	display: block;
	position: absolute;
	border-style: solid;
	border-width: 14px 14px 0;
}

.testimonial-component.style1 blockquote {
	color: #333;
	border: 2px solid #feb600;
	margin-top: 0px;
	position: relative;
	text-align: left;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	padding-top: 15px;
	padding-right: 20px;
	padding-bottom: 15px;
	padding-left: 35px;
}

.testimonial-component.style1 blockquote .desc {
	align-self: center;
}

.testimonial-component.style1 blockquote > .desc::after {
	border-color: #ffffff transparent;
	left: 33px;
	content: "";
	bottom: -11px;
	display: block;
	position: absolute;
	border-style: solid;
	border-width: 11px 11px 0;
}

.testimonial-component.style1 blockquote .desc span::before {
	font-family: Arial;
	content: "\201C";
	color: #feb600;
	font-size: 3.5em;
	position: absolute;
	left: 10px;
	top: -10px;
}

.testimonial-component.style1 blockquote .desc span::after {
	right: 5px;
	font-family: Arial;
	content: "\201D";
	color: #feb600;
	font-size: 3.5em;
	position: absolute;
	bottom: -43px;
}

.testimonial-component.style1 .t-img {
	width: 100px;
	height: auto;
	border: 1px solid #eeeeee;
}

.testimonial-component.style1 .t-img img {
	width: 100px;
	height: auto;
}

.testimonial-component.style1 .t-cite {
	display: table-cell;
	vertical-align: middle;
	padding-left: 15px;
}

/* No Image Handling */

.testimonial-component.style1 figcaption.noimg {
	min-height: 75px;
	align-items: flex-start;
}

.testimonial-component.style1 figcaption.noimg .t-cite {
	padding-left: 8px;
}

/* Style 1 Blue Color */

.testimonial-component.style1.blue blockquote {
	border: 2px solid #79bde9;
}

.testimonial-component.style1.blue blockquote::before {
	border-color: #79bde9 transparent;
}

.testimonial-component.style1.blue blockquote .desc span::before,
.testimonial-component.style1.blue blockquote .desc span::after {
	color: #79bde9;
}

/* Style 1 Gray Color */

.testimonial-component.style1.gray blockquote {
	border: 2px solid #e7e7e7;
}

.testimonial-component.style1.gray blockquote::before {
	border-color: #e7e7e7 transparent;
}

.testimonial-component.style1.gray blockquote .desc span::before,
.testimonial-component.style1.gray blockquote .desc span::after {
	color: #5e5e5e;
}

/* Style 1 Arrows */

/* Move the arrows upward so they align with the quote box, not the citation. */
.testimonial-component.style1 .splide__arrow {
	top: calc(50% - 24px) !important;
}

/* Style 3 */

.testimonial-component.style3 figure .content-wrap {
	display: flex;
	flex-direction: row-reverse;
	height: 100%;
}

/* Style 3a */

.testimonial-component.style3.style3a figure .content-wrap {
	flex-direction: row;
}

.testimonial-component.style3 blockquote {
	border-left: 0px;
	margin-left: 20px;
	margin-right: 20px;
	background: rgba(255, 196, 35, 0.39);
	border-radius: 5px;
	padding: 20px;
	padding-bottom: 40px;
	font-size: 16px;
	color: #000;
	position: relative;
	display: flex;
}

.testimonial-component.style3 blockquote .desc span::before {
	font-family: Arial;
	content: "\201C";
	color: #fff;
	font-size: 3.5em;
	position: absolute;
	left: 10px;
	top: -10px;
}

.testimonial-component.style3 blockquote .desc span::after {
	right: 8px;
	font-family: Arial;
	content: "\201D";
	color: #fff;
	font-size: 3.5em;
	position: absolute;
	bottom: -41px;
}

.testimonial-component.style3 blockquote .desc {
	padding-top: 10px;
	padding-left: 10px;
	align-self: center;
}

/* Figcaption Flex Styles */

.testimonial-component.style3 figcaption {
	display: flex;
	flex-direction: column;
	text-align: center;
	z-index: 1;
	min-width: 175px;
	justify-content: center;
}

.testimonial-component.style3 .t-img {
	width: 100px;
	height: 100px;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}

.testimonial-component.style3 .t-img img {
	border-radius: 50%;
	object-fit: cover;
	height: auto;
}

.testimonial-component.style3 .t-cite strong {
	font-size: 16px;
}

/* Style 3 Blue Color */

.testimonial-component.style3.blue blockquote {
	background: #c3e7ff;
}

.testimonial-component.style3.blue .t-icon {
	background: #74c2f7;
}

.testimonial-component.style3.blue .t-img img {
	border-color: rgba(195, 231, 255, 0.61);
}

/* Style 3 Gray Color */

.testimonial-component.style3.gray blockquote {
	background: #f1f1f1;
}

.testimonial-component.style3.gray blockquote .desc span::before,
.testimonial-component.style3.gray blockquote .desc span::after {
	color: #5e5e5e;
}

/* Style 3 Arrows */

.testimonial-component.style3 .splide__arrow {
	top: 50% !important;
}

/* Style 4 */

.testimonial-component.style4 figure .content-wrap {
	display: flex;
	flex-direction: column-reverse;
	height: 100%;
}

.testimonial-component.style4 blockquote {
	border-left: 0px;
	margin-left: 20px;
	margin-right: 20px;
	background: rgba(255, 196, 35, 0.39);
	border-radius: 5px;
	padding: 20px;
	padding-bottom: 40px;
	font-size: 16px;
	color: #000;
	position: relative;
	display: flex;
}

.testimonial-component.style4 blockquote .desc span::before {
	font-family: Arial;
	content: "\201C";
	color: #fff;
	font-size: 3.5em;
	position: absolute;
	left: 10px;
	top: -10px;
}

.testimonial-component.style4 blockquote .desc span::after {
	right: 8px;
	font-family: Arial;
	content: "\201D";
	color: #fff;
	font-size: 3.5em;
	position: absolute;
	bottom: -41px;
}

.testimonial-component.style4 blockquote .desc {
	padding-top: 10px;
	padding-left: 10px;
	align-self: center;
}

/* Figcaption Flex Styles */

.testimonial-component.style4 figcaption {
	display: flex;
	flex-direction: column;
	text-align: center;
	z-index: 1;
	min-width: 175px;
	justify-content: center;
	margin-bottom: 10px;
	max-width: 85%;
	align-self: center;
}

.testimonial-component.style4 .t-img {
	width: 100px;
	height: 100px;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}

.testimonial-component.style4 .t-img img {
	border-radius: 50%;
	object-fit: cover;
	height: auto;
}

.testimonial-component.style4 .t-cite strong {
	font-size: 16px;
}

/* Style 4 Blue Color */

.testimonial-component.style4.blue blockquote {
	background: #c3e7ff;
}

.testimonial-component.style4.blue .t-icon {
	background: #74c2f7;
}

.testimonial-component.style4.blue .t-img img {
	border-color: rgba(255, 196, 35, 0.39);
}

/* Style 4 Gray Color */

.testimonial-component.style4.gray blockquote {
	background: #f1f1f1;
}

.testimonial-component.style4.gray blockquote .desc span::before,
.testimonial-component.style4.gray blockquote .desc span::after {
	color: #5e5e5e;
}

/* Style 4 Arrows */

.testimonial-component.style4 .splide__arrow {
	top: 50% !important;
}

@media only screen and (max-width: 768px) {
	.testimonial-component.style2 figcaption.noimg {
		display: flex;
		flex-direction: column;
		text-align: center;
		margin-top: 0;
		z-index: 1;
	}

	.testimonial-component.style3 figure .content-wrap {
		display: flex;
		flex-direction: column-reverse;
		height: 100%;
	}

	.testimonial-component.style3.style3a figure .content-wrap {
		display: flex;
		flex-direction: column;
		height: 100%;
	}

	.testimonial-component.style3 figcaption {
		margin-bottom: 10px;
	}
}
@media only screen and (min-width: 900px) {
    .testimonial-component .splide__slide a:focus, .testimonial-component .splide__slide a:hover {
        color: #fff;
        text-decoration: none;
    }
}